Récupération de l'item selectionné d'une listbox

moldov Messages postés 165 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 10 novembre 2008 - 14 févr. 2006 à 17:42
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 15 févr. 2006 à 22:23
Bonjour,

Alors, c'est une question toute bete mais qui me bloque, je suis en train de me mettre au C# et j'arrive pas a recupéré le text de l'Item selectionné dans ma listbox.

Alors j'ai essayer le truc du genre
maChaine = lbContact.Item[lbcontact.SelectedIndex];
Mais ca marche pas

maChaine = lbContact.SelectedValue;
Pas plus de resultat.
(Je viens du Delphi et j'essaie de m'en sortir lol)

Merci de votre aide.
Bonne Prog

10 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
14 févr. 2006 à 17:45
Salut,

Tes items sont des chaines de caractères ou d'autres objets ?

/*
coq
MVP Visual C#
*/
0
moldov Messages postés 165 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 10 novembre 2008
14 févr. 2006 à 17:47
Salut,


Merci pour la rapidité.


Ce sont des chaines de caractères.


Bonne Prog
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
14 févr. 2006 à 17:57
SelectedItem étant de type object, il faut que tu le cast en son type "réel".

maChaine = lbContact.SeletedItem as string;

if ( maChaine != null )
...

ou

if ( lbContact.SeletedItem != null )
{
maChaine = (string)lbContact.SeletedItem;
...
}

/*
coq
MVP Visual C#
*/
0
moldov Messages postés 165 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 10 novembre 2008
14 févr. 2006 à 18:05
Il me dit que maChaine = (string)lbContact.SeletedItem; le Cast est pas.
alors j'ai essayer maChaine = lbContact.SeletedItem.ToString();
Non plus.

ta une Idée, voici le bout de code


string sCheminBase = Application.StartupPath+@"\BaseAdresseMVS.mdb";


CnxAcces uneCnx =
new CnxAcces(sCheminBase);


DataSet Donnees =
new DataSet();



if ( lbContact.SelectedItem !=
null )


{



string maChaine = (string)
lbContact.SelectedItem;


Donnees = uneCnx.getDataset("SELECT * FROM Contact Where NomPrenom='"+maChaine+"'");

MERCI
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
moldov Messages postés 165 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 10 novembre 2008
14 févr. 2006 à 18:54
Pour info voici comment je fais pour remplir ma listbox je sais pas si ca peut aider.



string sCheminBase = Application.StartupPath+@"\BaseAdresseMVS.mdb";

CnxAcces uneCnx = new CnxAcces(sCheminBase); //Connection a la BAse

DataSet Donnees = new DataSet();


lbContact.DataSource = uneCnx.getDataset("SELECT NomPrenom FROM
Contact").Tables[0]; // Recupératiob du champs

lbContact.DisplayMember = "NomPrenom"; //Quel champs afficher.



Merci
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
14 févr. 2006 à 19:08
Donc les items ne sont pas des string mais des DataRow...

DataRow selectedRow = lbContact.SeletedItem as DataRow;
if ( selectedRow != null )
{
maChaine = selectedRow[lbContact.DisplayMember] as string;
...
}
...

/*
coq
MVP Visual C#
*/
0
moldov Messages postés 165 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 10 novembre 2008
15 févr. 2006 à 11:23
Salut



Merci encore pour tout alors l'histoire du selectedRow ne fonctionnait
pas par contre tu ma donné de tres bonnes pistes dans le sens que tu ma
fait comprendre que c'était important de savoir de quel type on
remplissait la listbox donc du coup je la rempli avec des strings et
ensuite je recupère comme tu ma la dit en string et ca fonctionne
parfaitement.



Merci beaucoup de ton aide et longue vie a CodeSource



Bonne Prog
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
15 févr. 2006 à 11:29
Qu'est ce que tu veux dire par "le selectedRow ne fonctionnait pas" ?

/*
coq
MVP Visual C#
*/
0
moldov Messages postés 165 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 10 novembre 2008
15 févr. 2006 à 21:53
Et bah en faite il me retournait pas le text de l'item il me retournait SelectedRowView a chaque fois.



Bonne Prog
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
15 févr. 2006 à 22:23
Bizarre
J'avais une erreur dans le code ci dessus mais ça ne pouvais pas sortir ce genre de chose.

DataRowView selectedRow = lbContact.SelectedItem as DataRow View ;
if ( selectedRow ! = null )
{
maChaine = selectedRow[lbContact.DisplayMember] as string;
...
}
...

/*
coq
MVP Visual C#
*/
0
Rejoignez-nous