datagrid 分页显示和自带编辑按钮的问题

发布时间:2024-05-08 17:40 发布:上海旅游网

问题描述:

我对一个页面上的一个datagrid进行了分页显示,设全局变量int startIndex=0;
分页的代码:
private void DataGrid1_PageIndexChanged_1(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{ this.DataGrid1.CurrentPageIndex=e.NewPageIndex ;
startIndex=this.DataGrid1.PageSize*this.DataGrid1.CurrentPageIndex;
binDataGrid1rid();
}

void binDataGrid1rid();是和datagrid绑定以及填值的函数。
到这里都没问题。
后来我又对DataGrid加了那个自代的编辑更新取消的按钮列,编辑按钮的代码入下:
void gridedit(Object sender,DataGridCommandEventArgs e)
{ DataGrid1.EditItemIndex=e.Item.ItemIndex;
binDataGrid1rid();
}
我点了这个按钮就出问题了,startIndex不知为什么清零了,导致分页显示出问题,编辑的对象也因此变了。。。
请高手指教,谢谢!
在Page_load中有型如
if(!this.isPostback)
{
binDataGrid1rid();
} 的代码的~
我调试了一下,程序一进入的void gridedit()里,startIndex的值马上自动清零了,不知为什么

问题解答:

在Page_load中你是否有
if(!this.isPostback)
{
binDataGrid1rid();
}

如果没有,每次点击按钮DataGrid都会重新绑定,导致分页显示出问题,编辑的对象也因此变了,

PageSize 属性记录某页上的记录数,CurrentPageIndex为当前页面数..
第一页CurrentPageIndex为0,startIndex也为0,所以startIndex是记录第二页到当前页的Rows count,
按编辑按钮DataGrid出现重定位,一般都是DataGrid绑定的问题....

startIndex=this.DataGrid1.PageSize*this.DataGrid1.CurrentPageIndex;

这你打算干什么的?

热点新闻