2016-10-21 5 views
0

У меня есть вопрос о том, есть ли более эффективный способ сделать то, что я хочу выполнить:Как я могу прокручивать первые «n» строки в виде сетки.

Что я хочу сделать, это прокрутить строки в виде сетки и установить флажки для первых 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

Почему вы используете цикл for-each, если вы не хотите проверять все строки? Я хотел бы использовать нормальный цикл, как так:

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 не является обязательным, но помешать вам outofbounds исключений.

+0

Foreach проходит через все строки сетки, даже если граница уже выполнена. Я думаю, что использование простой для loo лучше mch. Благодарю. Не уверен, почему кто-то отказался от моего вопроса. О, хорошо, спасибо за помощь. – psj01

Смежные вопросы