Снимите флажки в GridView с подкачкой - PullRequest
1 голос
/ 30 декабря 2010

У меня есть ASP .NET GridView с пейджингом. В одном столбце есть CheckBox. В определенном сценарии я хочу снять флажки, которые отмечены.

foreach (GridViewRow dr in gvMyGridView.Rows)
{
    if (dr.RowType == DataControlRowType.DataRow)
    {
        if ((CheckBox)dr.FindControl("chkIsApplicable") != null)
        {
            ((CheckBox)dr.FindControl("chkIsApplicable")).Checked = false;
        }
    }
}  

Но, к сожалению, из-за пейджинга доступ к таким записям возможен только в том случае, если они отображаются в таблице. Я хочу, чтобы он применялся ко ВСЕМ элементам GridView. Это должно происходить на стороне клиента, и когда пользовательские коммиты будут сохранены в базе данных. Есть ли способ справиться с этим? :)

1 Ответ

2 голосов
/ 30 декабря 2010

Сохранение состояния флажка при поиске в Gridview

Логика

Сохранить первичные ключи отмеченных строк в списке при событии PageIndexChanging.
После установки сетки на новый PageIndex и повторной привязки сетки, заполните новую страницу значениями в списке, которые сопоставлены со строками в сетке (если есть)
Таким образом, у вас будет набор проверенных строк в списке.
Удалить список, чтобы очистить все.

Это один из способов сделать это.
PS: это двухлетний пост, так что вы можете оптимизировать его с помощью C # 4.0

...