我的gridview出现问题,我的Gridview发生了OnPageIndexChanging事件,我的gridview页面大小为20
一旦记录在第一页达到20,第21 - 40条记录将转到第二页,当我转到第二页时,我在我的gridview中单击编辑按钮..例如:我在gridview中单击第21条记录的行
该行的EditItemTemplate没有显示,但我没有遇到问题,并且在调试代码时代码执行良好。
下面是我在Gridview_RowCommand中**“EditRow”**中的代码
protected void gridview_RowCommand(object sender, GridViewCommandEventArgs e)
{
int iActiveIndex;
switch (e.CommandName)
{
case "EditRow":
iActiveIndex = Convert.ToInt32(e.CommandArgument);
gridview.EditIndex = iActiveIndex;
gridview.DataSource = emp.TrainingPrograms;
gridview.DataBind();
break;
}
}
这是Gridview_OnPageIndexChanging中的代码
protected void gridview_OnPageIndexChanging(object sender, GridViewPageEventArgs e)
{
gridview.DataSource = emp.TrainingPrograms;
gridview.PageIndex = e.NewPageIndex;
gridview.DataBind();
}
我的问题有什么可能的解决方案吗?
2条答案
按热度按时间u5rb5r591#
GridView控件的EditIndex属性引用当前页上的第X行,而不是要编辑的行的ID。
可以通过将rowindex的模数乘以pagesize来选择适当的行,如下所示:
t5zmwmid2#
我通过添加页面大小得到了正确的索引。