/ / Deaktivieren Sie Checkboxen in GridView mit Paging - c #, asp.net, Gridview, Kontrollkästchen, gridviewrow

Deaktivieren Sie Checkboxen in GridView mit Paging - c #, asp.net, Gridview, Kontrollkästchen, gridviewrow

Ich habe ein ASP .NET GridView mit Paging. Eine Spalte enthält eine CheckBox. In einem bestimmten Szenario möchte ich die Kontrollkästchen deaktivieren, die aktiviert sind.

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

Aber leider wegen Paging nur dieDatensätze, die derzeit im Grid angezeigt werden, können auf diese Weise aufgerufen werden. Ich möchte, dass es auf ALLE Elemente in der GridView angewendet wird. Dies sollte auf der Client-Seite geschehen und wenn der Benutzer festlegt, wird er in der Datenbank gespeichert. Irgendeine Möglichkeit, damit umzugehen? :)

Antworten:

2 für die Antwort № 1

Pflegen des Status des Kontrollkästchens beim Paging in der Gridview

Die Logik

Speichern Sie die Primärschlüssel der geprüften Zeilen in einer Liste beim PageIndexChanging-Ereignis.
Nachdem Sie das Raster auf den neuen PageIndex festgelegt und das Raster erneut gebunden haben, füllen Sie die neue Seite mit Werten in der Liste, die den Zeilen im Raster zugeordnet ist (sofern vorhanden).
Sie haben also eine Sammlung von geprüften Zeilen in einer Liste.
Löschen Sie die Liste, um alle zu löschen.

Dies ist eine Möglichkeit, dies zu tun.
PS: Es ist ein zwei Jahre alter Beitrag, also können Sie ihn mit C # 4.0 sicherlich optimieren