如何循环将AllowPaging属性设置为true的整个GridView?

时间:2012-07-04 09:14:05

标签: c# asp.net c#-3.0

我在页面中有一个GridView asp服务器控件,我将其AllowPaging设置为true。现在,我想循环到整行,但它只迭代到我定义的PageSize的数量。

这是asp代码:

 <asp:GridView ID="gvName" runat="server" AllowPaging="True" PageSize="5" AutoGenerateColumns="True"></asp:GridView>

这是背后的代码:

 List<string> list = new List<String>();
    for(int x = 0; x <= 9; x++)
    {
        list.Add("Name " + (x + 1).ToString()); 
    }

    gvName.DataSource = list;
    gvName.DataBind();

foreach(GridViewRow row in gvName.Rows)
{
    // gvName.Rows.Count only returns 5 instead of the total number of its record that is 10
}

提前感谢任何答案。

2 个答案:

答案 0 :(得分:3)

这是分页如何工作的一个特征,而不是一个错误 - 它只为每个页面加载加载x行。根据您需要完成的任务,您可以:

  1. 在每个页面加载时循环遍历行(因为你应该只关心可见的那些,对吗?)
  2. 使用 list 对象或 GridView.DataSource (首先转换为适当的类型)循环浏览实际数据源。

答案 1 :(得分:0)

使用网格事件OnRowDataBound事件可以使用行

完成所需的所有工作

获取计数使用:     int count = list.Count;