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 ID="GridView1" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None">
<Columns>
<asp:CheckBoxField Text="Plik do aktualizacji" />
<asp:TemplateField HeaderText="Aktualizuj">
<ItemTemplate>
<asp:CheckBox ID="Aktual" runat="server" />
</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