//Get Current Page Index so You can get back here after commands
int a = GridView1.PageIndex;
//Loop through All Pages
for (int i = 0; i < GridView1.PageCount; i++)
{
//Set Page Index
GridView1.SetPageIndex(i);
//After Setting Page Index Loop through its Rows
foreach (GridViewRow row in GridView1.Rows)
{
//Do Your Commands Here
}
}
//Getting Back to the First State
GridView1.SetPageIndex(a);
8条答案
按热度按时间mtb9vblg1#
你可以使用下面的命令,我在我的项目中使用它。它的逻辑是如此简单,你遍历所有页面,在每个页面中,你遍历所有行。你也可以在这样做之前得到你的当前页面,在循环之后你可以回到那里;)
5w9g7ksd2#
我们暂时禁用分页,并将重新绑定网格,以便现在可以访问网格中的所有记录,而不仅仅是当前页面记录。
一旦gridview与所有记录绑定,您就可以遍历gridview行。
完成任务后,我们重新启用分页并重新绑定网格。
这里的方法来解决你的条件:
jv2fixgn3#
使用以下代码并禁用GridView分页
return false; getView1.DataBind();
在页面加载或其他事件中,您希望显示所有的Gridview控件
fdx2calv4#
在从网格中获取数据的功能之前,只需写入
在获得数据写入后,
如果你的函数是GetDataFromGrid(),那么你应该这样做
v8wbuo2f5#
当分页被启用时,你不能显示所有的行。但是你可以在页面加载或某些事件中的代码隐藏中设置
Allowpaging=false;
。或
zkure5ic6#
更好的方法是在页面顶部(gridview外部)放置一个隐藏字段,单击复选框时,您应该在隐藏字段中放置相关的id或逗号分隔格式的某些值。在提交表单时,您可以使用逗号分隔隐藏字段值字符串,然后就可以了。
bis0qfac7#
使用以下代码获取
e.CommandArgument
的值。我一定会解决你的问题!tzdcorbm8#
“内部人”用页面索引提出的解决方案在逻辑上是正确的。但是你不必使用GridView1.SetPageIndex(i);因为它只是设置当前页面的起始行。直接修改GridView1.PageIndex = i;