当前位置:编程学习 > C#/ASP.NET >>

DataGrid基于Access的快速分页法(4)

答案:     让DataGrid工作起来
  
    有了上面的类,实现分页的工作就简单多了。首先,我们要将DataGrid的AllowPaging属性和AllowCustomPaging属性为True,除此之外,为了体现出升序和降序的功能,还需要将AllowSorting属性也设置为True。然后在每次分页时,我们需要产生一个OleDbDataReader对象或DataView对象绑定到DataGrid,作为DataGrid的数据源。这里需要用FastPaging类的Paging方法根据条件产生一个SQL语句,并赋给OleDbCommand对象的CommandText属性:
  
  cmd.CommandText = FastPaging.Paging(
  
  DataGrid1.PageSize,
  
  (int)ViewState["CurrentPageIndex"],
  
  DataGrid1.VirtualItemCount,
  
  "Items",
  
  "ItemId, ProductId, Price",
  
  "ItemId",
  
  FastPaging.IsAscending(OrderType),
  
  ""
  
  );
  
    在上面的程序段中,ViewState["CurrentPageIndex"]的值在DataGrid的Page事件处理程序中被更新为e.NewPageIndex。为了方便处理ViewState的空值,最好把对ViewState["CurrentPageIndex"]的存取操作和空值判断封装在一个属性里。DataGrid1. VirtualItemCount应该设置为数据库表中的记录总数。DataGrid通过它和PageSize属性可以虚拟出DataGrid的分页数。VirtualItemCount的值是在Page的Load事件处理程序中被设置的,而该值的大小需要经过一次数据库访问才能得到。为了提高性能,可以只在第一次加载页面的时候设置该值。
  
    总结
  
    DataGrid基于Access的快速分页法到这里就介绍完了。当然,这种方法并不能“包治百病”,可能对于您的要实现的功能,还有其它更好的方法。这就需要大家在平时工作和学习中不断总结经验,在解决实际问题时尽可能找到最有效的方法。这也是本文的方法中所贯穿的思想。
  

上一个:ASP.NET中对表单输入行有选择验证(1)
下一个:DataGrid基于Access的快速分页法(3)

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,