Web Form中的Datagrid的自定义分页

时间:2010-03-16 17:38:30  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:是给大家演示如何提高我们的工作效率、降低服务器的负载压力。       1. Datagrid的分页显示      当查询到的数据很多,在一屏内显示出来篇幅太长的时候,我们可以利用Datagrid的分页功能让用户通过上下页的切换来查看数据。设置方法很简单:在datagrid的属性处点击“属性生成器”,然后在“分页”栏进行如图1所示的设置...
  正文: ASP/ target=_blank class=infotextkey>asp.NET带给我们很多惊喜,强大的Web Form控件自然是其中的重要部分。这其中,最受关注的当然是Datagrid。在ASP中用HTML标记语法来输出数据的方法在Datagrid数据绑定面前显得如此繁杂。但是只使用Datagrid自身的功能,还是达不到实际的工作要求。本文就是给大家演示如何提高我们的工作效率、降低服务器的负载压力。
  
   1. Datagrid的分页显示
  
  当查询到的数据很多,在一屏内显示出来篇幅太长的时候,我们可以利用Datagrid的分页功能让用户通过上下页的切换来查看数据。设置方法很简单:在datagrid的属性处点击“属性生成器”,然后在“分页”栏进行如图1所示的设置,页大小的行数即决定了每页显示出几行数据记录。
  
  
  
  
  
   图1 分页设置
  
   2. 自定义导航栏
  
  在图1的属性页中的“格式”栏中,我们可以设置“页导航”的外观样式。但是很多程序设计人员都喜欢用自己定义的导航栏,而不使用默认的上下页按钮或数字按钮(即出现1、2、3……页号的形式)。那么我们可以这样来做:
  
  (1) 如果要保留默认的导航栏,请不用看这一小节。如果要隐藏起默认的页导航栏。就请将PageStyle的visible属性设置为false。或在图1“页导航”中,不勾选“显示导航按钮”即可。
  
  (2) 在写自定义导航栏时,主要是利用CurrentPageIndex属性来设置页:
  
  "第一页":
  
  DataGrid1.CurrentPageIndex = 0;
  
  "上一页":
  
  if (DataGrid1.CurrentPageIndex > 0)
  
  DataGrid1.CurrentPageIndex -= 1;
  
  "下一页":
  
  if (DataGrid1.CurrentPageIndex < (DataGrid1.PageCount - 1))
  
  DataGrid1.CurrentPageIndex += 1;
  
  "最后一页":
  
  DataGrid1.CurrentPageIndex = (DataGrid1.PageCount - 1);
  
  (3) 需要注意的是:Web Form是一种无状态的编程方式,我们在自定义了导航栏按钮的代码后,需要再次加载Datagrid的数据源。否则将看不到页切换的效果。也就是说,我们需要在按钮的click事件中加入重新加载数据源的代码,比如我们可以将加载的代码写在如下方法SetGridSource中,在按钮Click的代码最后加入SetGridSource()这句调用代码。
  
  private void SetGridSource()
  
  {
  
  SqlConnection MyConnection = new SqlConnection(YourOwnConnectionString);
  
  string SelectCommand = "SELECT * FROM YOURTABLE";
  
  SqlDataAdapter MyCommand = new SqlDataAdapter(SelectCommand, MyConnection);
  
  DataSet ds = new DataSet();
  
  MyCommand.Fill(ds, " YOURTABLE ");
  
  DataView dv = ds.Tables["YOURTABLE "].DefaultView;
  
  DataGrid1.DataSource = dv;
  
  DataGrid1.DataBind();
  
  }
  
  或者我们可以在Page_load中写入SetGridSource里的代码,使浏览器在页切换重置时可以重新加载并绑定Datagrid的数据源。要注意的是,上述代码不能写在首次加载判断 if (!IsPostBack)语句中
  
  (4) 在页面上我们一般需要显示总页数与当前页面这样的信息。与WinForm中的Datagrid不同的是,在WinForm中需要获取与数据相关的信息,只能从Datagrid的数据源,比如DataTable中去获得数据行数,某单元格的值等信息。被 WinForm中的dataset与datagrid之间的关系弄得头晕的朋友就不用再害怕了,在WebForm中,我们只要从Datagrid中就可以直接获得这些信息了。总页数是Datagrid的PageCount属性;当前页数是CurrentPageIndex属性值+1来表示,这是由于 CurrentPageIndex是从0开始计数的。
  
   3. 自定义分页 《Web Form中的Datagrid的自定义分页》由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Programming/aspnet/13254.html

 1/7    1 2 3 4 5 6 下一页 尾页


关键字:

关于《Web Form中的Datagrid的自定义分页》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td