[C#] [WinForms] Les int dans une ListView

Résolu
Phenomenium Messages postés 38 Date d'inscription mardi 1 mars 2005 Statut Membre Dernière intervention 18 octobre 2006 - 2 mars 2005 à 10:47
Phenomenium Messages postés 38 Date d'inscription mardi 1 mars 2005 Statut Membre Dernière intervention 18 octobre 2006 - 5 mars 2005 à 12:18
Salut j'ajoute les lignes d'une de mes tables dans un listView comme ceci :


Code:,
----

foreach (DataRow dr in ds.Tables[0].Rows)
{
ListViewItem lv1 = new ListViewItem(new string[] {ds.Tables[0].Rows[k][0].ToString(), ds.Tables[0].Rows[k][1].ToString(), ...... });
listView1.Items.AddRange(new ListViewItem[] {lv1});
k++;
}

Ca marche car je converti tout mes données, memes les int, en string, pour les mettres dans ma listView. Mais le probleme c'est que lorsque je trie ensuite mes colonnes, vu que les int sont devenus des string, le trie n'est pas correct (ex : 1, 100, 2, 3, 30....) Comment puis je faire ? Vous me direz, je n'ai qu'a pas convertir mes int en string quand je les met dans le ListView, mais impossible car :


Code:,
----

ListViewItem lv1 = new ListViewItem(new string[] {ds.
, montre bien que c'est du string qu'il faut et non autre chose ! Est ce que quelqun peut me dire ce quil faut faire pour regler ce probleme ?

4 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
4 mars 2005 à 19:08
exact :-)
dans ton cas la methode Compare deviendrais plutot


public int Compare(object x, object y)
{
try
{
int intx = int.Parse(((ListViewItem)x).SubItems[colonne].Text);
int inty = int.Parse(((ListViewItem)y).SubItems[colonne].Text);
return intx.CompareTo(inty);
}
catch
{
return 0;
}
}

Cocoricoooooooo !!!!
coq
MVP Visual C#
3
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
3 mars 2005 à 14:16
Regarde du côté de la propriété ListViewItemSorter, tu pourras faire toi même la comparaison des items, et donc faire ta comparaison sur des int et non des string (Int32.Parse...)

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
Phenomenium Messages postés 38 Date d'inscription mardi 1 mars 2005 Statut Membre Dernière intervention 18 octobre 2006 1
3 mars 2005 à 16:39
Est ce que je peux appliquer ceci à la méthode que tu as donnée pour trier les colonnes d'un listView dans ce message :


http://www.csharpfr.com/forum.v2.aspx?ID=233873

???
Si oui , est ce que tu peux m'orienté, car là je suis un peu à l'ouest !?
0
Phenomenium Messages postés 38 Date d'inscription mardi 1 mars 2005 Statut Membre Dernière intervention 18 octobre 2006 1
5 mars 2005 à 12:18
ok merci je vais voir ca :)
0
Rejoignez-nous