我怎样才能遍历第一个' n'网格视图中的行。

时间:2016-10-21 01:52:39

标签: c# asp.net

我有一个问题是,是否有更好的方法来完成我想要完成的任务:

我想要做的是遍历网格视图中的行,并选中前100条记录的复选框。

为此,我提出了以下解决方案:

int limit = 0;
int max = 100;
foreach (GridViewRow gvr in GridView1.Rows)
{
    limit++;
    if (gvr.RowType == DataControlRowType.DataRow && limit <= max)
    {
        CheckBox cb = (CheckBox)gvr.FindControl("chkSelect");
        cb.Checked = true;
    }
}

我想知道这是否是执行此操作的最佳方式,或者是否有更简单/更快捷的方法来完成相同的任务。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

如果您不想检查所有行,为什么要使用for-each循环?我会像这样使用普通的for循环:

int max = 100;
for (int i = 0; (i < GridView1.Rows.Count && i < max); i++)
{
    GridViewRow gvr = GridView1.Rows[i];
    if(gvr.RowType == DataControlRowType.DataRow){
        CheckBox cb = (CheckBox)gvr.FindControl("chkSelect");
        cb.Checked = true;
    }
}

支票i < GridView1.Rows.Count是可选的,但可以防止您出现异常现象。