none
Ordenar coluna alfanumérico RRS feed

  • Pergunta

  • Boa tarde,

    como posso ordenar um campo alfanumérico de um Datagridview em c#. 

    private void dgv_ColumnHeaderMouseClick

    Atual

    1.000% 2.000% 10% 100% 200% 500%

    Deveria ficar
    10%
    100%
    200%
    500%
    1.000%
    2.000%


    • Editado MDFG quinta-feira, 14 de setembro de 2017 17:37
    quinta-feira, 14 de setembro de 2017 17:33

Respostas

Todas as Respostas

  • Boa tarde, MDFG. Tudo bem?

    De onde você está pegando esses números?

    Atenciosamente,

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    sexta-feira, 15 de setembro de 2017 15:01
    Moderador
  • Você pode utilizar o evento SortCompare do DataGridView (https://docs.microsoft.com/en-us/dotnet/framework/winforms/controls/how-to-customize-sorting-in-the-windows-forms-datagridview-control)

    private void dataGridView1_SortCompare(object sender,
            DataGridViewSortCompareEventArgs e)
        {
            // Try to sort based on the cells in the current column.
            e.SortResult = System.String.Compare(
                e.CellValue1.ToString(), e.CellValue2.ToString());
    
            // If the cells are equal, sort based on the ID column.
            if (e.SortResult == 0 && e.Column.Name != "ID")
            {
                e.SortResult = System.String.Compare(
                    dataGridView1.Rows[e.RowIndex1].Cells["ID"].Value.ToString(),
                    dataGridView1.Rows[e.RowIndex2].Cells["ID"].Value.ToString());
            }
            e.Handled = true;
        }

    e criar uma comparação customizada como neste exemplo: https://stackoverflow.com/questions/9988937/sort-string-numbers/9989709#9989709


    Juliano Nunes - http://linkedin.com/in/julianonunes

    Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.

    Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.

    sexta-feira, 15 de setembro de 2017 17:01
  • Bom dia,

    Por falta de retorno essa thread está sendo encerrada.

    Se necessário, favor abrir uma nova thread.

    Atenciosamente,

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 18 de setembro de 2017 12:42
    Moderador