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() :

- Utilizando apenas data ou
data.Date

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
:

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)

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

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