RV2931
Messages postés185Date d'inscriptionsamedi 21 mai 2005StatutMembreDernière intervention16 juillet 2016
-
28 juil. 2008 à 10:09
RV2931
Messages postés185Date d'inscriptionsamedi 21 mai 2005StatutMembreDernière intervention16 juillet 2016
-
28 juil. 2008 à 13:12
Bonjour,
mon problème est surement très simple à résoudre mais voilà, au lieu de tatoner sans savoir où je vais je préfère poser la question ici. Je n'arrive pas a afficher le résultat d'une requête dans un listbox en utilisant listbox.datasource.
Grosso modo, voilà où j'en suis :
j'ai une DB odbc, je fais une requête sur une table OverlayNames, qui contient parmis d'autres les champs OverlayIndex (liste d'index numérique) et OverlayName (liste de string). Je rempli un dataSet avec les 2, que je lie à la propriété DataSource d'une ListBox. Mon problème est que je n'arraive pas à paramétré DisplayMember et ValueMember (si encore, ce dernier doit être utilisé) pour simplement afficher la liste des noms des Overlays (champ OverlayName1 de la table).
private System.Windows.Forms.ListBox lbMaps;
OdbcDataAdapter adptMaps= new OdbcDataAdapter("SELECT OverlayIndex,OverlayName1 FROM OverlayNames",DB.connection);
adptMaps.Fill(data,"Overlays");
lbMaps.DataSource=data.Tables["Overlays"];
lbMaps.DisplayMember= ???????????????????????? ;
lbMaps.ValueMember =?????????????????????????;
Je n'obtient que des "System.data.DataRowView" dans mon listbox, autant qu'il y a de ligne dans ma table. Et si quelqu'un peut un peu me préciser la structure du dataset après avoir fait le Fill, genre, le nom des tables crée par défault, puisque dans ma requêtes il y a deux tables, il doit bien y avoir deux tables aussi dans le dataset, mais comment s'appelle-t-elles ?
Merci, je galère un peu j'avoue
RV
L'intelligence est la chose la mieux répartie chez l'homme, car quoi qu'il en soit pourvu, il a toujours l'impression d'en avoir assez. "Descartes"
le nom des tables tu les defini grace a ton fill ==> adptMaps.Fill(data,"Overlays");
ta table s'appelle donc overlays dans un dataset nomee data
et dans le select que tu nous montre il n'y a qu'une table et 2 champs
dans la table overlays tu aura les 2 colonne OverlayIndex et OverlayName1
<hr />Arthenius
"Ce qui ne me tue pas, me rend plus fort..."
RV2931
Messages postés185Date d'inscriptionsamedi 21 mai 2005StatutMembreDernière intervention16 juillet 2016 28 juil. 2008 à 13:12
J'ai essayé ta solution et il me met une erreur car il n'a pas trouvé la liaison entre displayMember et Valuemember (au vu de ce qu'il me dit). Et quand j'enlève la deuxième ligne, soit lbMaps.ValueMember="OverlayIndex"; il y a une seule ligne qui s'affiche dans ma listbox: "System.data.DataViewManagerListItemTypeDescription"
...
L'intelligence est la chose la mieux répartie chez l'homme, car quoi qu'il en soit pourvu, il a toujours l'impression d'en avoir assez. "Descartes"