我有一个问题是,是否有更好的方法来完成我想要完成的任务:
我想要做的是遍历网格视图中的行,并选中前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;
}
}
我想知道这是否是执行此操作的最佳方式,或者是否有更简单/更快捷的方法来完成相同的任务。
感谢您的帮助。
答案 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
是可选的,但可以防止您出现异常现象。