如何在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;
  }

easyui 中的datagrid分页技术实现

一些基本的知识参考官网          http://www.jeasyui.com/documentation/index.php# 这里我强调一点 datagrid会...
  • cao478208248
  • cao478208248
  • 2014年06月13日 17:59
  • 3701

easyui的datagrid使用以及分页

easyui对于开发桌面级的WEB应用界面确实十分方便,而且美观。这里着重记录一下datagrid的使用,以及通过前后端配合实现的超简单的数据分页查询方式。...
  • tzdwsy
  • tzdwsy
  • 2015年08月09日 13:57
  • 3383

jQuery easyUI Pagination控件自定义div分页(不用datagrid)

一般后台管理页面分页是通过datagrid加Pagination分页,但是如果前台页面没有用表格,例如博客的文章列表从上到下一般是到div分页, 这时如果还要用Pagination,则可以这样: 页面...
  • gdjlc
  • gdjlc
  • 2013年09月18日 17:29
  • 10092

easyUI自定义DataGrid分页栏

@author YHC datagrid内置一个很好特性的分页功能,自定义也相当简单,在这个教程中,我们将创建一个datagrid 和添加一些自定义按钮在分页工具栏. 查看 Dem...
  • yhc13429826359
  • yhc13429826359
  • 2012年08月10日 16:47
  • 7428

datagrid自定义分页控件

  • qq_31971935
  • qq_31971935
  • 2016年08月10日 17:32
  • 488

自定义DataGrid分页块完美实现

  • 2007年12月07日 17:55
  • 63KB
  • 下载

datagrid自定义分页+高效存储过程

 datagrid自定义分页是datagrid的一个重要的功能,datagrid自定义分页主要用于数据源较大时。因为数据源大(记录多),加载时间长,反应慢,耗服务器的资源。而且每显示一页就要重新加载所...
  • littlehb
  • littlehb
  • 2007年04月12日 18:59
  • 1650

easyui 加载datagrid的时候添加自定义分页参数

$riskApprovalItemTable = $("#riskApprovalItemTable");//风险审批项datagrid $editRiskApprovalItemWindow...
  • hhybtcz
  • hhybtcz
  • 2014年05月09日 10:31
  • 2204

easyui datagrid 不显示分页栏,可以自定义显示分页按钮

项目里遇到的需求是 :用户在页面查询的时候,后台要根据一个查询条件的值去判断是不是要显示分页,因为查询一页数据,做了更新操作,被当前用户锁定,对于其他用户是不可见的,每次查询未处理的数据不显示分页按钮...
  • a417074865
  • a417074865
  • 2016年04月25日 20:43
  • 4439

ASP.NET中利用DataGrid的自定义分页功能

ASP.NET中利用DataGrid的自定义分页功能 ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页 ASP.Net中的DataGrid有内置分页功能, 但是它...
  • u014739775
  • u014739775
  • 2014年05月12日 11:09
  • 1083
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何在DataGrid 控件中实现自定义分页操作
举报原因:
原因补充:

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