Ordenar colunas em um DataGridView alfabeticamente
-
13-09-2019 - |
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.
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:
- Criar uma lista temporária para armazenar as colunas
- armazenar uma cópia temporária do seu DataGridView
- Remova todas as colunas de DataGridView
- Classificar suas colunas manualmente, ignorando a primeira alguns que você não quer sort
- Adicionar colunas voltar para DataGridView na ordem correta usando DisplayIndex.
Há também uma pergunta aqui discutindo como colunas datagrid encomendar ou índice