zaznaczanie wielu linii w gridview

0

Witam,

chciałbym mieć możliwosć zaznaczenia wielu linii w gridview, znalazłem w necie jakiś tutorial i zrobiłem to tak:

<asp:gridview runat="server" id="GridView1" cellpadding="4" forecolor="#333333" gridlines="None"> <columns> <asp:checkboxfield text="Plik do aktualizacji" /> <asp:templatefield headertext="Aktualizuj"> <itemtemplate> <asp:checkbox runat="server" id="Aktual" /> </itemtemplate> </asp:templatefield> </columns> </asp:gridview> w kodzie w C# tworze obiekt DataTable tam ustawiam kolumny i dodaje wiersze, potem ustawiam datasource dla tego gridview jako ten DataTable i robie DataBind dla tego grida. Teraz kiedy wyswietlam go na stronie zaznaczam niektore checkboxy naciskam przycisk i mam taki kod: [Kod C#] for (int i = 0; i < GridView1.Rows.Count; i++) { GridViewRow row = GridView1.Rows[i]; CheckBox ck = ((CheckBox)row.FindControl("Aktual")); bool isChecked = ck.Checked; if (isChecked) { //tutaj cos wykonaj dla zaznaczonej linii } } i problem polega na tym, że checboxy są zawsze wszystkie nie zaznaczone.. prosze o jakąś podpowiedź dlaczego tak sie moze dziać ?
0

najprawdopodobniej GridView.DataBind() powoduje ich odczytanie ze zrodla danych i tym samym skasowanie. sprobuj ustawiac zaznaczenia po databindzie, nie przed. uwaga - jesli po reloadzie strony (np. wywolanym kliknieciem na przycisku) znowu odpala sie databind, to przed nim tez musisz sie jakos zabezpieczyc

0

ok dzieki

blad polegal na tym ze nie sprawdzalem czy strona jest PostBack

dolozylem warunek przy ladowaniu danych do grida: if (!Page.IsPostBack) i juz smiga ok, poprsotu zanim sprawdzil dane ladowal je od nowa :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0