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();
}
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();
}
浙公网安备 33010602011771号