Получение проверенных строк из gridview в asp.net

У меня есть GridView в ASP.net, где у меня есть столбец CheckBox. Пользователь может переключать CheckBox. Теперь я хочу, чтобы, когда пользователь нажимает кнопку, отображались все записи из GridView, где установлен флажок CheckBox. А на другой кнопке должно отображаться противоположное состояние ...
Я не понимаю логики для того же самого.

Может ли кто-нибудь помочь мне с логикой ..


person Abbas    schedule 20.04.2011    source источник


Ответы (1)


Вы можете перебрать GridViewRows и проверить, отмечен ли CheckBox, используя что-то вроде следующего

Редактировать из комментариев, исправлены мелкие ошибки. Спасибо, парни. (20.03.2013):

foreach (GridViewRow row in yourGridViewID.Rows)
{
    CheckBox check = (CheckBox)row.FindControl("CheckBoxName");

    if (check.Checked)
    {
        //Take Row information from each column (Cell) and display it
    }
    else
    {
        //Display in seperate area
    }
}

Индексом будет номер столбца, начиная с 0, слева направо от которого столбец содержит CheckBox. Вам необходимо убедиться, что CheckBox имеет имя идентификатора, которое используется в CheckBoxName. Если у вас нет идентификатора для этого, вы также можете использовать

CheckBox check = (CheckBox)row.Cells[index].Controls[0];
person Tyler Ferraro    schedule 20.04.2011
comment
CheckBox check = (CheckBox) row.FindControl (CheckBoxName); thsi лучше найти контроль из ряда. - person Muhammad Akhtar; 21.04.2011
comment
Да, все работает нормально :) Одно изменение в цикле следующим образом ............. foreach (строка GridViewRow в yourGridViewID.Rows) {// Копируем и вставляем остальное} Cheeerz - person Kasun Wanniarachchi; 20.03.2013