Pergunta

Eu estou usando um controle DataGridView em um aplicativo VB.Net, onde colunas estão sendo adicionados dinamicamente a uma DataTable que está sendo criado no código. Eu preciso encomendar algumas das colunas em ordem alfabética pelo nome.

por exemplo.

Nome, sobrenome, número de casa, B, D, A, C

Eu preciso de ...

Nome, sobrenome, número de casa, A, B, C, D

as colunas são como eles são necessários para que eu não pode encomendá-los antes.

Foi útil?

Solução

Não é VB.NET, mas esta questão em C # deve ter a resposta que você precisa: Como posso classificar os cabeçalhos de coluna em um datagrid em ordem alfabética

DisplayIndex é fundamental.

Se você não quer fazer Linq, então você pode implementar o código para fazer o seguinte:

  1. Criar uma lista temporária para armazenar as colunas
  2. armazenar uma cópia temporária do seu DataGridView
  3. Remova todas as colunas de DataGridView
  4. Classificar suas colunas manualmente, ignorando a primeira alguns que você não quer sort
  5. Adicionar colunas voltar para DataGridView na ordem correta usando DisplayIndex.

Há também uma pergunta aqui discutindo como colunas datagrid encomendar ou índice

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