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?

È stato utile?

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).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top