Salut, ça fait un long moment que je cherche, et ça commence à me rendre fou.
j'ai dut trouver une bonne dizaine de solutions mais aucune ne fonctionne !
Je vous expose le problème :
J'utilise un Datagridview ( vide ) et au chargement de form1, je lui donne pour source un Dataset.
Je veux faire une ligne des plusieurs données et je veux pouvoir les classer dans l'ordre croissant ou non, mais ça ne fait absolument pas comme je veux
Pour faire simple :
-Au départ j'ai ça :
http://img152.imageshack.us/img152/4992/tri1lp0.png
- Je veux classer par ordre décroissant :
http://img255.imageshack.us/img255/5268/tri2wr6.png
C'est pas très très décroissant :oops: ( Vous pouvez remarquer que ça a classé d'après le premier caractère :aie:)
J'ai lu des choses comme quoi on peut changer le mode de tri des commandes, mais ça ne fonctionne pas, et d'ailleurs je ne sais pas qu'est-ce que ça ferait ...
Sinon j'ai tenté de faire une sorte de fonction de "tri à bulle" :
J'ai put faire des erreurs, mais de toute façon on obtiens le même resultat qu'au début ...Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Private Sub DataGridView1_ColumnHeaderMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles DataGridView1.ColumnHeaderMouseClick Dim Temp As Integer = DataGridView1.SortedColumn.Index Dim i As Integer = 0 Dim Tamp As String While i < DataGridView1.Rows.Count If DataGridView1.Item(Temp, j).Value > DataGridView1.Item(Temp, j + 1).Value Then Tamp = DataGridView1.Item(Temp, j + 1).Value DataGridView1.Item(Temp, j + 1).Value = DataGridView1.Item(Temp, j).Value DataGridView1.Item(Temp, j).Value = Tamp i = 0 End If i = i + 1 End While End Sub
Sinon, l'ajout dans la base se fait comme ça :
j'ai essayé sans le séparateur de milliers mais ça fait pareil :Code:NewRow(7) = CLng(CDR(0)).ToString("#,#")
Code:NewRow(7) = CDR(0)
Enfin bref, je commence à désespérer, pouvez vous m'aider à résoudre ce problème ?
Merci d'avance