Problema evento OnCheckedChanged nei controlli checkbox di una gridvie...

lunedì 12 novembre 2007 - 11.32

sricciardelli Profilo | Newbie

Salve a tutti.
Sono alle prime esperienze in dotnet.
Sto sviluppando una pagina aspx contenente una gridview con una colonna di checkbox non associati ai dati che popolano la gridview.
Non riesco a gestire l'evento on OnCheckedChanged per ognuno di di questi.
Nel senso che neanche riesco ad entrare nella funzione....

protected void chkSel_CheckedChanged(Object sender, EventArgs e)
{
// fa qualcosa....

}

... quando seleziono una qualsiasi checkbox.

Questo è l'oggetto nella gridview

<asp:TemplateField ItemStyle-HorizontalAlign = "Center" >
<ItemTemplate >
<asp:CheckBox ID="chkSel" runat="server" AutoPostBack="True" OnCheckedChanged = "chkSel_CheckedChanged" />
</ItemTemplate>
<HeaderStyle Width="2%" CssClass="Titolo1a" />
<ItemStyle BorderColor="LightGray" BorderWidth="1px" />
</asp:TemplateField>

Se faccio click su una check di queste, la pagina viene ricaricata, ma se ho alcune check selezionate, queste perdono il loro stato.
Non riesco davvero a capire......!

spero di essermi fatto capire.

Se qualcuno mi può suggerire qualcosa.........


Ciao a tutti.

Wamba Profilo | Expert

Benvenuto,
prova a controllare nella funzione che popola la griglia. Forse inizializzi i checkbox oppure la richiami ad ogni post-back.
-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba

sricciardelli Profilo | Newbie

Grazie per il benvenuto!!!

Si! hai ragione. Faccio ancora molta confusione per la sequenza degli eventi.
Per come è fatto (... cioè.... male....), a ogni postback vado a reimpostare la grid.
Questo mi faceva perdere lo statro delle check e (..... cosa che non riesco ancora a capire bene.....), non mi faceva partire l'evento OnCheckedChanged.


Sapresti spiegarmi il perchè?

Cmq, grazie mille

Wamba Profilo | Expert

E' la base dell'asp.net e probabilmente la cosa più difficile da capire per chi viene dal vecchio asp.
Di fatto ad ogni postback (ricaricamento della pagina dovuto ad un evento di un controllo server: ES. piagiato un pippolo asp:button)
lo stato dei controlli (i tuoi checkbox) viene automaticamente ripristinato. L'inizializzazione devi farla solo la prima volta. Per sapere se sei in un post back basta controllare il valore di IsPostBack. Questo ovviamente è solo un accenno. Ti consiglio di leggere qualcosa di più preciso e dettagliato, magari anche in rete.
-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba

sricciardelli Profilo | Newbie

Grazie mille!
sei stato molto gentile!

Ciao

Wamba Profilo | Expert

Di niente figurati. Se ho risolto il tuo problema ricordati di chiudere il thread accettando la risposta .

-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5