Uno degli aspetti più importanti del DataGrid è la possibilità di personalizzarne molto efficacemente il look.
E' infatti abbastanza raro che, in fase di modifica, si abbia bisogno di una normale textbox per visualizzare i dati, perchè ad esempio si tratta di un chiave che punta ad un'altra tabella, piuttosto che una checkbox.
In casi come questi è necessario quindi utilizzare una colonna di tipo TemplateColumn, definendo all'interno della stessa il control del tipo che ci torna utile, come se fosse un normale control della pagina.
A questo punto qualora volessimo accedere allo stato di una CheckBox, ci basterà cercare all'interno della riga (che riusciamo a raggiungere attraverso e.Item) il control attraverso il suo ID, nell'event handler associato alla conferma della modifica dei dati, in questo modo:
// e rappresenta un'istanza di DataGridItemEventArgs bool checked = ((CheckBox)e.Item.FindControl("confirmed")).Checked;
Se invece stiamo lavorando con BoundColumn (ma il discorso vale anche per colonne personalizzate, anche se è meno consigliabile) allora possiamo arrivare al control anche per posizione, in questo modo:
// arrivo al primo controllo della quarta cella bool checked = ((CheckBox)e.Item.Cells(3).Control[0]).Checked;
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.