Gridview последняя строка не проверяется
Я пытаюсь, пока в Gridview присутствует столбец IsActive, а затем проверяется флажок, который помещается внутри Gridview..весь код работает нормально, только флажок последней строки не установлен..pls говорят мне разрешение
Что я уже пробовал:
<pre>if (e.Row.RowType == DataControlRowType.DataRow) { foreach (GridViewRow row in gdvUserDetails.Rows) { for (int i = 0; i < dt.Rows.Count; i++) { string cellText = dt.Rows[i][2].ToString(); CheckBox chk = (CheckBox)row.Cells[0].FindControl("chkRow"); if (cellText == "1") { chk.Checked = true; } else { chk.Checked = false; } } } }
phil.o
В качестве примечания вы можете написать: chk.Checked = (cellText == "1");
не теряя при этом никакой читабельности.
Richard Deeming
NB: Ваши вложенные циклы не делают то, что вы думаете, что они делают. Честно говоря, я изо всех сил пытаюсь понять, что вы думаете, что они делают; но что бы это ни было, они этого не делают.
Вы можете эффективно заменить код на:
if (e.Row.RowType == DataControlRowType.DataRow) { string cellText = dt.Rows[dt.Rows.Count - 1][2].ToString(); bool isChecked = cellText == "1"; foreach (GridViewRow row in gdvUserDetails.Rows) { CheckBox chk = (CheckBox)row.Cells[0].FindControl("chkRow"); chk.Checked = isChecked; } }