1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
Private Sub DGVTout_ColumnHeaderMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DGVTout.ColumnHeaderMouseClick
TriToutDataTableSelonSens(MesAstuces.Tables(NomTableAstuces), e.ColumnIndex, True) ' Décroissant si False
DGVTout.Rows(0).Selected = True
End Sub
Private Sub TriToutDataTableSelonSens(ByRef DT As DataTable, ColonneCle As Integer, Optional Croissant As Boolean = True) ' Tri déc roissant si Croissant = False
Dim TemoinPermutation As Boolean = True
While TemoinPermutation
TemoinPermutation = False
If Croissant Then
For R As Integer = 0 To MesAstuces.Tables(NomTableAstuces).Rows.Count - 2
If DT.Rows.Item(R)(ColonneCle).ToString > DT.Rows.Item(R + 1)(ColonneCle).ToString Then
PermutDeuxLignesToutDataTable(DT, R, R + 1)
TemoinPermutation = True
End If
Next
Else
For R As Integer = 0 To MesAstuces.Tables(NomTableAstuces).Rows.Count - 2
If DT.Rows.Item(R)(ColonneCle).ToString < DT.Rows.Item(R + 1)(ColonneCle).ToString Then
PermutDeuxLignesToutDataTable(DT, R, R + 1)
TemoinPermutation = True
End If
Next
End If
End While
End Sub
Private Sub PermutDeuxLignesToutDataTable(ByRef DT As DataTable, Ligne1 As Integer, Ligne2 As Integer)
Dim Tmp As String
For C As Integer = 0 To DT.Columns.Count - 1
Tmp = DT.Rows.Item(Ligne1)(C).ToString
DT.Rows.Item(Ligne1)(C) = DT.Rows.Item(Ligne2)(C)
DT.Rows.Item(Ligne2)(C) = Tmp
Next
End Sub |