Nascondere una proprietà in datagridview – hide property in datagridview – C#


Nota: Articoli etichettati come Snippet non contengono codice completo ma solo parti di esso, recuperate da appunti. Per cui, potrebbe essere necessario modificarne alcuni nomi o indici. Per ogni chiarimento, lasciate un commento all’articolo.

Quando si effettua un binding diretto tra una IList (risultato da una query su database) di oggetti ed una Datagridview, automaticamente tutte le proprietà pubbliche della classe di cui gli oggetti fanno parte vengono visualizzate come colonne della dgv stessa.

In alcuni casi può essere necessario nascondere alcune colonne. I metodi sono due anche se personalmente preferisco il secondo.

//dgvElenco è il nome della DataGridView e “id” è la proprietà da nascondere
dgvElenco.Columns[“id”].Visible = false;  

Questo primo metodo porta l’impostazione di una colonna del controllo a visible = false e quando la uso, inserisco questo codice subito dopo la procedura di binding. In tal modo, però, la definizione di colonna “nascosta” viene portata nel codice, nella logica dell’applicazione, piuttosto che nella definizione della classe. Questa è invece la seconda strada percorribile.

[Browsable(false)]
public bool nonPersistente { get; set; }

Utilizzando l’attributo “Browsable” del namespace System.ComponentModel è possibile definire all’interno della classe stessa il “nascondimento” (!!!) della specifica proprietà

 


Rispondi

Effettua il login con uno di questi metodi per inviare il tuo commento:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s…

%d blogger hanno fatto clic su Mi Piace per questo: