Como faço para controlar a ordem de DataGridViewColumn para objetos comerciais personalizados?

StackOverflow https://stackoverflow.com/questions/1203277

Pergunta

Criação de um objeto de negócios personalizado para slide em um dataGridView faz maravilhas ... só que eu não posso pensar de uma maneira programática para definir a ordem de coluna.

Eu tenho que adicioná-los um por um com a mão manualmente novamente apenas para obter uma espécie mais agradável ou se há algum atributo oculto enigmática eu posso usar?

Foi útil?

Solução

Cada DataGridViewColumn como uma propriedade DisplayIndex que pode ser aplicado a qualquer momento e ainda trabalha com AutoGenerateColumns conjunto para true.

dataGridView1.Columns["colName"].DisplayIndex = 0;
dataGridView1.Columns["colAnotherColumn"].DisplayIndex = 1;

Outras dicas

Eu assumo que você tem atualmente conjunto AutoGenerateColumns para true. A única maneira que eu conheço para controlar a ordem das colunas é definir AutoGenerateColumns para false e, como você disse, adicionar manualmente as colunas.

EDIT:


Eu só olhei para uma vaga lembrança de uma outra maneira de fazer isso e acho que você pode querer olhar em propriedade GridView do controle ColumnsGenerator que leva um objeto IAutoFieldGenerator. Esta interface tem um método chamado GenerateFields' which takes aControl(theGrid) and returns an ICollection `(de Campos).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top