Listebox MultiSimple [Résolu]

Signaler
Messages postés
18
Date d'inscription
mercredi 29 juin 2005
Statut
Membre
Dernière intervention
4 mai 2006
-
Messages postés
18
Date d'inscription
mercredi 29 juin 2005
Statut
Membre
Dernière intervention
4 mai 2006
-
Bonjour,



je cherche à récupérer les Values des champs d'une listebox en SelectionMode : MultiSimple ce qui permet à l'utilisateur de séclectionner plusieur valeurs de ma liste.

J'aimerai récupérer les valeurs sélectionner.

Pour une liste en mode Simple voici ma sintax :

int Num = int.Parse(this.LB.SelectedValue.ToString());


Je remplit ma listebox avec cette méthode :


public static void InitListBox (string sCmd,string Colonne,System.Windows.Forms.ListBox LB)
{
System.Data.DataTable Table = new System.Data.DataTable();
System.Data.OleDb.OleDbDataAdapter Da = new System.Data.OleDb.OleDbDataAdapter(sCmd,Connection);
Da.Fill(Table);
LB.DataSource=Table;
LB.DisplayMember=Table.Columns[Colonne].ColumnName;
LB.ValueMember=Table.Columns[0].ColumnName;
}


Par contre avec une liste en mode : multisimple



for (int i = 0; i < LB.Items.Count; i++)
{
if (LB.GetSelected(i) == true)
{
LB.SelectedItem = i;
int Num = int.Parse(this.LB_eleves.SelectedValue.ToString());
}

}


Si quelqu'un a une idée ...


Bonne journée @ tous !

3 réponses

Messages postés
18
Date d'inscription
mercredi 29 juin 2005
Statut
Membre
Dernière intervention
4 mai 2006

Ok j'ai trouvé ...
for (int i = 0; i < LB_eleves.Items.Count; i++)
{
if (LB_eleves.GetSelected(i) == true)
{
string test = LB_eleves.SelectedValue.ToString();
LB_eleves.SetSelected(i,false);

}

}
bon ce n'est pas tout a fait ce que je cherchais mais bon ...
je vais me débrouiller avec ca.

Merci encore MorpionMX
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
47
Salut

Avec LB.SelectedItems ou LB.SelectedIndices, tu recuperes un tableau contenant les items (ou les index) selectionnés



Mx
MVP C#
Messages postés
18
Date d'inscription
mercredi 29 juin 2005
Statut
Membre
Dernière intervention
4 mai 2006

Merci , Je viens de tester avec ceci :

for (int i = 0; i < LB_eleves.Items.Count; i++)

{

if (LB_eleves.GetSelected(i) == true)

{

LB_eleves.SelectedItem = i;

string Numtest = LB_eleves.SelectedIndices[i].ToString();

}

mais Numtest récupère uniquement mes indices ( n° de la ligne dans la liste)
ce que j'aimerai récupérer c'est le n° de ligne dans ma base de donnée.car lors de la création de ma
LB je passe :

LB.ValueMember=Table.Columns[0].ColumnName;

où Table.Columns[0] est id de mon enregistrement.

tu vois ce que je veux dire

Merci tout de même.