#738 - Accedere ai controlli delle colonne del DataGrid

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;


Approfondimenti

Commenti

Esprimi il tuo giudizio su questo script:

Per procedere devi essere autenticato.

Per inserire un commento, devi registrarti alla nostra community.




IN EVIDENZA
MISC