Pergunta

Eu tenho um WinForms NET datagrid cuja fonte de dados é um List<cLineItem> chamadas linhas. cLineItem é muito simples classe com imóveis como unidades (int), descrição (string) e montante unitário (float).

No código, eu preencher a lista de linhas e, em seguida, definir a fonte de dados:

dataGridView1.DataSource = lines;

Isso preenche corretamente o grid, no entanto, apesar de cada uma das colunas na grade são definidas para Sortable, quando você clica em um cabeçalho de coluna, ele doesnt classificar as linhas.

Foi útil?

Solução

ordem DataGridView não trabalho por padrão, a menos que sua fonte explicitamente suporta a classificação. Você precisa envolver sua fonte de dados em um SortableBindingList . Você pode usar os PropertyComparer.cs arquivos e SortableBindingList.cs deste arquivo zip e usá-lo como este:

dataGridView1.DataSource = new SortableBindingList<cLineItem>(lines);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top