Ordenação e formato de datas em DataGridView

Estou com uma dúvida em relação a ordenação de DataGridView com campo DateTime e gostaria de saber se alguém que já passou por isso teria alguma dica:

Estou inserindo uma linha que contém uma data e gostaria que essa data fosse apenas dd/mm/aaaa, o que acontece é que quando insiro com data.Date ou apenas data acaba ficando dd/mm/aaaa 00:00:00 (no grid aparecem esses zeros que seriam do time), e já testei colocar data.ToShortDateString() mas dessa forma eu perco a ordenação dos dados da lista;

Exemplos:

  • Com data.ToShortDateString() :

image

  • Utilizando apenas data ou data.Date

image

A sua pergunta é boa, quando você trabalhar com a formatação o dado que era uma data se transforma em um texto, e todos nós sabemos que a ordenação de um texto é diferente da ordenação de uma data, isso ficou claro como você explicou na sua pergunta.

O problema nesse caso é o dado precisa ser formatada pela DataGridView na seguinte caixa:

Primeiro clique em Edit Columns

Após abrir as configurações de colunas escolhe a coluna Data e clique na parte de propriedades DefayltCellStyle:

c2

e por fim no formato coloque a letra d, como demonstrado abaixou (ou então clique na caixa que abre todas as opções de formatação)

c3

pronto a sua DataGridView faz o papel pesado para você, exemplo:

c4

1 curtida

Ótimo @Dragoon !! Era isso mesmo que eu precisava e deu certo 100%!
Muito obrigado !

1 curtida