Accedere ai controlli delle colonne del DataGrid

di Daniele Bochicchio, in ASP.NET, ADO.NET, 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;

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi