如何在DataGrid 控件中实现自定义分页操作

原创 2007年10月06日 14:39:00

   在一般情况下,DataGrid控件每次翻页操作时,都会将数据源中的数据重新调用依次,当数据源中的数据比较多的时候,这样就会浪费系统的资源和降低程序执行的效率,解决的办法就是如同标题所说,依靠自定义实现分页操作.

  前台代码:

    <asp:datagrid id="DataGrid2" runat="server" PageSize="5" AllowPaging="True" AutoGenerateColumns="False" AllowCustomPaging="True">
<Columns>
<asp:BoundColumn DataField="Productid" HeaderText=" Productid"></asp:BoundColumn>
<asp:BoundColumn DataField="Uniqueid" HeaderText="Uniqueid"></asp:BoundColumn>
<asp:BoundColumn DataField="Station" HeaderText="Station"></asp:BoundColumn>
<asp:BoundColumn DataField="Result" HeaderText="Result"></asp:BoundColumn>
</Columns>
<PagerStyle Mode="NumericPages"></PagerStyle>
</asp:datagrid>
<asp:button id="Button2" runat="server" Text="显示Datagrid2中的内容"></asp:button>
 后台代码:
声明全局变量:
int startIndex=0;
private void Button2_Click(object sender, System.EventArgs e)
  {
   DataGridDataBindNew();
  }
  public void DataGridDataBindNew()
  {
   string model="V810";
   OracleConnection  conn=new OracleConnection(StoneFunction.neworacleconn(model));
   OracleDataAdapter OracleDa=new OracleDataAdapter("select productid,uniqueid,station ,result from v810.stationinfo",conn);
   DataSet ds=new DataSet();
  
   try
   {
    OracleDa.Fill(ds,startIndex,DataGrid2.PageSize,"CurDataTable");
    OracleDa.Fill(ds,"AllDataTable");
                DataGrid2.VirtualItemCount=ds.Tables["AllDataTable"].Rows.Count;
    DataGrid2.DataSource=ds.Tables["CurDataTable"];
    DataGrid2.DataBind();
  
    DataGrid2.Visible=true;
   }
   catch
   {
    try
    {
     DataGrid2.CurrentPageIndex=0;
     DataGrid2.DataBind();
     DataGrid2.Visible=true;
    }
    catch
    {
     //this.lblError.Text="No data for selection";
     //this.lblError.Visible=true;
    }
   }
   conn.Close();
   conn.Dispose();
   cmd.Dispose();
  }

  private void DataGrid2_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
  {
   DataGrid2.CurrentPageIndex=e.NewPageIndex;
   startIndex=DataGrid2.PageSize*DataGrid2.CurrentPageIndex;
   DataGridDataBindNew();
   current_label.Text="当前页:"+DataGrid2.CurrentPageIndex;
  }

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

LayUI自定义分页插件,仿EasyUI的DataGrid

layUI分页列表,自定义插件

轻松实现分页指示器 ViewPagerIndicator Android自定义控件

1. 难点解读1.首先就是布局,就是继承LinearLayout,重写.然后指示器是矩形,自己绘制出来的,就在每个tab的下面,绘制自己的孩子通过dispatchDraw(canvas)实现.2.在d...
  • xfhy_
  • xfhy_
  • 2017-06-06 12:00
  • 400

datagrid自定义分页控件

<asp:DataGrid ID="Datagrid1" runat="server" CssClass="GridView" BorderWidth="1px" AccessKey="1" ...

.net 简单分页自定义控件

  • 2015-08-25 10:27
  • 574KB
  • 下载

jquery easyui 中combogrid , datagrid 自定义分页

以             去掉记录相关字符 去掉前          ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)