5

启用分页时如何获取所有gridview的行?

它允许仅获取当前获取行而不是整个 gridview 行。

4

7 回答 7

13

您可以使用我在我的项目中使用它的下面的命令。它的逻辑非常简单,您浏览所有页面,并且在每个页面中您浏览所有行。您还可以在执行此操作之前获取当前页面,然后在循环所有内容后返回该页面;)

//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);
于 2015-08-21T19:40:00.260 回答
7

我们暂时禁用分页并将重新绑定网格,以便现在我们可以访问数据源中的所有记录,而不仅仅是当前页面记录。

一旦 gridview 与所有记录绑定,您就可以遍历 gridview 行。

完成任务后,我们重新启用分页并重新绑定网格。

以下是解决您的病情的方法:

protected void Page_Load(object sender, EventArgs e)
{
    GridView2.AllowPaging = false;
    GridView2.DataBind(); 

    // You can select some checkboxex on gridview over here..

    GridView2.AllowPaging = true;
    GridView2.DataBind(); 
}
于 2013-02-15T09:36:43.003 回答
6

使用以下代码并使 GridView 分页禁用

GridView1.AllowPaging = false; GridView1.DataBind();

在页面加载或您想要显示所有 Gridview 行的其他事件上

于 2013-02-15T09:41:09.587 回答
4

在从网格获取数据的功能之前只写

yourGridName.AllowPaging=false;

并在获得数据写入后

yourGridName.AllowPaging=true;

如果你的函数是 GetDataFromGrid() 那么你应该像这样

protected void Page_Load(object sender, EventArgs e)
{
yourGridName.AllowPaging=false;
GetDataFromGrid() 
yourGridName.AllowPaging=true;
}
于 2013-02-15T09:49:04.813 回答
3

启用分页后,您无法显示所有行。但是您可以Allowpaging=false;在页面加载或某些事件中进行代码隐藏。

protected void Page_Load(object sender, EventArgs e)
{
Gridviewname.AllowPaging=false;
}

或者

Protected Void some event(object sender,Eventargs e)
{
Gridviewname.AllowPaging=false;
}
于 2013-02-15T09:41:11.870 回答
2

更好的方法是在页面顶部(gridview 之外)放置一个隐藏字段,然后单击复选框,您应该将相关的 id 或逗号分隔格式的某个值放在隐藏字段中。在提交表单时,您可以使用逗号作为分隔符拆分隐藏字段值字符串,然后就可以了。

于 2013-02-15T09:38:50.710 回答
0

使用以下代码获取e.CommandArgument. 我一定会解决你的问题!

  protected void GridViewID_RowCommand(object sender, GridViewCommandEventArgs e)
  {
         if (e.CommandName == "GetDetail")
         {
            int index = Convert.ToInt32(e.CommandArgument) % GridViewID.PageSize; // !Important

            GridViewRow row = GridViewID.Rows[index];
         }
 }
于 2018-09-17T10:34:30.977 回答