Jasonchne 2019-06-12 11:19 采纳率: 25%
浏览 220
已采纳

asp:GridView加载8万+的数据时网页刷新卡顿

asp:GridView加载8万+的数据时网页运行卡顿
问题现象:
1、执行按钮查询时后台查询速度快;
2、前台网页运行时造成了卡顿现象,页面出现空白没有响应
具体代码如下:

1、BLL代码
public DataTable GetAll(string HName)
        {
            DataTable dt = ESQL.GetTab_Sql("select ID,CYYMC,blh,hzxm,bq,ryrq,cyrq,ybdj,(case when cyzdmc is null then '默认诊断' else cyzdmc end)cyzdmc,brzt from HJY_BRXX where CYYMC = '" + HName+"'");

            return dt;
        }
    此代码查询数据有8W+的数据

2、aspx.cs代码
  protected void btn_chaxun_Click(object sender, EventArgs e)
        {

            string HName = this.yymc.Value.ToString();
            DataTable dt = brxxbll.GetAll(HName);
            brxx.DataSource = dt;
            brxx.DataBind();
        }
3、aspx页面代码
<asp:GridView ID="brxx" runat="server" AutoGenerateColumns="false" Width="100%" DataKeyNames="ID" HorizontalAlign="Center" style="text-align:center">
                    <EmptyDataTemplate>
                        数据为空,请点击查询
                    </EmptyDataTemplate>
                    <FooterStyle ForeColor="#ff0000" BackColor="#3B6BD1" Font-Bold="true"/>
                    <SelectedRowStyle Font-Bold="True" ForeColor="Navy" BackColor="#FFCC66" BorderColor="CornflowerBlue" />
                    <RowStyle ForeColor="#333333" BackColor="#FFFBD6" BorderColor="CornflowerBlue" BorderStyle="Solid" BorderWidth="1px" />
                    <HeaderStyle Font-Bold="True" ForeColor="#FFFFCC" BackColor="#3B6BD1"></HeaderStyle>
                    <Columns>
                        <asp:BoundField DataField="ID" Visible="false" />
                        <asp:BoundField HeaderText="医院名称" DataField="CYYMC" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Middle" />
                        <asp:BoundField HeaderText="病历号" DataField="blh" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Middle" />
                        <asp:BoundField HeaderText="病人姓名" DataField="hzxm" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Middle" />
                        <asp:BoundField HeaderText="住院病区" DataField="bq" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Middle" />
                        <asp:BoundField HeaderText="入院日期" DataField="ryrq" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Middle" />
                        <asp:BoundField HeaderText="出院日期" DataField="cyrq" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Middle" />
                        <asp:BoundField HeaderText="医保标志" DataField="ybdj" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Middle" />
                        <asp:BoundField HeaderText="出院诊断" DataField="cyzdmc" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Middle" />
                        <asp:BoundField HeaderText="出院标志" DataField="brzt" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Middle" />
                        <asp:TemplateField>
                            <ItemTemplate>                       
                               <asp:HyperLink runat="server" Text="明细数据" NavigateUrl="~/病人信息查询/Getmingxi.aspx" Target="_blank"></asp:HyperLink>
                              </ItemTemplate>  
                            <HeaderTemplate>
                                明细数据
                            </HeaderTemplate>
                            <ItemStyle HorizontalAlign="Center" Width="100px" />
                        </asp:TemplateField>
                    </Columns>
                </asp:GridView>

以上代码在运行造成了页面的卡顿、无响应,求高手指点优化。

  • 写回答

2条回答 默认 最新

  • Jasonchne 2019-06-14 15:55
    关注

    自己增加了一个分页控件,每页20条数据。已解决。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵