Tri StringGrid

louiwahl Messages postés 103 Date d'inscription vendredi 20 février 2004 Statut Membre Dernière intervention 16 mai 2019 - 26 déc. 2005 à 15:25
sisi231 Messages postés 207 Date d'inscription mercredi 5 mars 2003 Statut Membre Dernière intervention 29 mars 2013 - 29 déc. 2005 à 18:54
Bjr



Voila j'ai un stringGrid avec une col "Mois" et des col de "libelles" corespondants a ce mois.



j'arrive a faire le tri du StringGrid mais je voudrais copie les ligne trouvees das un autre StringGrid.



Voila la procedure de tri



Procedure TForm1.Button1Click(Sender: TObject);

Var i,j:Integer;

S:String;

Begin

With StringGrid1 Do

Begin

For i:=1 To rowcount-1 Do

For j:=i+1 To RowCount-1 Do

If Cells[1,i]>Cells[1,j] Then

Begin

S := StringGrid1.Rows[i].Text;

Rows[i].Text := Rows[j].Text;

Rows[j].Text := S;

End;

End;

End;



Merci et A+

Louis

2 réponses

cs_Adkiks Messages postés 40 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 29 janvier 2006
26 déc. 2005 à 20:47
Je te conseille d'utiliser un tableau d'enregistrements.Tu copies les lignes de ton StringGrid dans ce tableau ,et tu n'as plus qu'a faire le tri sur ce tableau puis tu copies le tableau dans le deuxieme stringgrid.
Je crois que c'est facile, si tu veux le code tu me le dis.Bon courage
0
sisi231 Messages postés 207 Date d'inscription mercredi 5 mars 2003 Statut Membre Dernière intervention 29 mars 2013 5
29 déc. 2005 à 18:54
t'as essayé :


stringgrid2.rows.clear;
with stringgrid1 do
for i:=0 to rows.count- 1 do
stringgrid2.rows.append(rows[i]);

tu as l'équivalent avec cols

et pour trier tu devrais passer par l'objet tstringlist qui a une méthode appelée "sort" qui trie automatiquement ses chaînes par odre alphabétique

ex
// ce code trie un tstrings :

mystringlist1.assign(mystrings1);
mystringlist1.sort;
mystrings1.assign(mystringlist1);

sachant que les propriétés rows et cols d'1 tstringgrid sont des tstrings





SISI231
0
Rejoignez-nous