Come posso controllare l'ordine dataGridViewColumn per oggetti business personalizzati?
-
05-07-2019 - |
Domanda
La creazione di un oggetto business personalizzato da inserire in un dataGridView fa miracoli ... tranne che non riesco a pensare a un modo programmatico per impostare l'ordine delle colonne.
Devo aggiungerli uno a uno a mano di nuovo manualmente solo per ottenere un ordinamento migliore o c'è qualche attributo nascosto criptico che posso usare?
Soluzione
Ogni dataGridViewColumn come proprietà DisplayIndex che può essere applicato in qualsiasi momento e funziona anche con AutoGenerateColumns impostato su true.
dataGridView1.Columns["colName"].DisplayIndex = 0;
dataGridView1.Columns["colAnotherColumn"].DisplayIndex = 1;
Altri suggerimenti
Suppongo che al momento AutoGenerateColumns
sia impostato su true
. L'unico modo che conosco per controllare l'ordine delle colonne è impostare AutoGenerateColumns
su false
e, come hai detto tu, aggiungere manualmente le colonne.
Modifica
Ho appena esaminato un vago ricordo di un altro modo per farlo e penso che potresti voler esaminare la proprietà ColumnsGenerator
del controllo GridView
che accetta un Oggetto IAutoFieldGenerator
. Questa interfaccia ha un metodo chiamato GenerateFields 'che accetta un
Control (il
Grid ) e restituisce un
ICollection `(of Fields).