Listebox MultiSimple

Résolu
eddy69270 Messages postés 18 Date d'inscription mercredi 29 juin 2005 Statut Membre Dernière intervention 4 mai 2006 - 4 mai 2006 à 12:12
eddy69270 Messages postés 18 Date d'inscription mercredi 29 juin 2005 Statut Membre Dernière intervention 4 mai 2006 - 4 mai 2006 à 14:46
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

eddy69270 Messages postés 18 Date d'inscription mercredi 29 juin 2005 Statut Membre Dernière intervention 4 mai 2006
4 mai 2006 à 14:46
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
3
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
4 mai 2006 à 12:59
Salut

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



Mx
MVP C#
0
eddy69270 Messages postés 18 Date d'inscription mercredi 29 juin 2005 Statut Membre Dernière intervention 4 mai 2006
4 mai 2006 à 13:24
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.
0