Bonjour,

Ce sujet a déjà été traité dans ce forum et dans d'autres mais je n'y ai pas trouvé ce que je cherche, je me permets donc d'ouvrir une nouvelle discussion.

J'ai un DataGridView crée dynamiquement par code, lié à un DataTable.
Une colonne DateTime dans le Datatable :
Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
Dim colDTV As New DataColumn("DateTimeCol")
        With colDTV
            .ColumnName = "Date trouvée"
        End With
        DTListeCistes.Columns.Add(colDTV)

Dans le code qui alimente le DataTable j'ai ecrit :
Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
        Dim jj, mm, aaaa As String
        Dim wdate As Date
        jj = Mid(DtTrouv, 1, 2) : mm = Mid(DtTrouv, 4, 2) : aaaa = Mid(DtTrouv, 7, 4)
        If DtTrouv = "0" Then wdate = New DateTime(0) Else wdate = New DateTime(CInt(aaaa), CInt(mm), CInt(jj))
        Ligne(5) = wdate

DtTrouv est un string qui vaut soit "0" soit une date de la forme "jj/mm/aaaa"
Ligne est du type DataRow provenant de la DataTable


Résultat
la date dans ma colonne DGV apparait
01/01/0001 00:00:00 si DtTrouv = "0" et
02/05/2020 00:00:00 si DtTrouv="02/05/2020"

Mes questions :
1. J'ai bien une colonne type DateTime mais si je click en haut de la colonne pour trier, j'obtiens un tri String !! pas un tri date.
2. Comment appliquer un format sur la colonne du DGV, je voudrais jj/mm/aaaa avec un tri date.

Merci.