DataGrid 分页必须考虑的几个问题

Asp.net中的DataGrid分页必须考虑以下几个问题
1。如果数据不多,则不分页,多则分页
    if(DataGrid1.Items.Count < DataGrid1.PageSize+1)
    DataGrid1.AllowPaging = false;
   else
   {
    DataGrid1.AllowPaging = true;
   }
   DataGrid1.DataBind();
   if(DataGrid1.Items.Count < DataGrid1.PageSize+1)
    DataGrid1.AllowPaging = false;
   else
   {
    DataGrid1.AllowPaging = true;
   }
   DataGrid1.DataBind();
  但是我现在还不知道为什么要datebind 2次。如果不这样处理的话,数据不够的话,也会显示页吗1。

2。后一页最后一条记录删除,需要将他的CurrentPageIndex减一。
    if (DataGrid1.Items.Count==1)
    if(DataGrid1.CurrentPageIndex !=0)
     DataGrid1.CurrentPageIndex-=1;

3。如果页面上提供了查询功能时,一定要在DateBind之前把CurrentPageIndex 设为0,否则很有可能出错,因为有可能查询前DataGrid的CurrentPageIndex >查询后DataGrid的PageCount。

4。分页时,先显示第一页,在判断能不能分页
   DataGrid1.CurrentPageIndex = 0;
   DataGrid1.DataBind();
   if (e.NewPageIndex < DataGrid1.PageCount )
   {
    DataGrid1.CurrentPageIndex = e.NewPageIndex;
    DataGrid1.DataBind();
   }

posted on 2004-07-05 14:03  HELFY  阅读(667)  评论(2)    收藏  举报

导航