problème de remplissage d'une datagrid - C#/.NET managed - Programmation
Marsh Posté le 06-05-2005 à 00:47:56
sniff aucune réponse ou aide sur mon post
hepl les gars...
Marsh Posté le 06-05-2005 à 20:49:43
Bon voila ce que je te conseille comme solution (testé il y a quelque temps dans une de mes applications)
tu fais une connexion avec la BD en mode déconnecté.
tu fais une boucle qui parcours ce dataset et tu remplis ton combobox (un jeu d'enfant).
ensuite, suffit de traiter ton évènement, comme tu as le nom de l'utilisateur, il suffit de le récupérer dans une variable.
Donc mtn tu as deux possibilités, si tu as mis dans ton premier dataset toutes les infos nécessaire, il suffit de rechercher dans le dataset, et d'associé au controle (je te conseille pas un datagrid personnellement pour ça :s)
si tu n'as pas toute les infos, tu refait une connexion (en mode déconnecté) à la base de donnée avec comme parametre ton nom d'utilisateur, en gros tu construits ta requete sql pour cet utilisateur la. et la de ton dataset t'en fait ce que tu veux
Marsh Posté le 09-05-2005 à 19:38:40
ok mais pourquoi tu me déconseille une datagrid (de ce que je vous faire je voit pas d'autres alternative)?
secondo je réfléchi à ta proposition et on en reparlera...
Marsh Posté le 10-05-2005 à 08:22:07
si j'ai bien compris, le résultat de ta sélection n'est qu'un tuple (pardonne moi si je me trompe). Dans ce cas la il n'est pas interessant de procéder avec un datagrid étant donné que celui-ci est vraiment convivial quand on a plusieurs lignes/tuples à afficher...
Dans un autre cas, si tu as bien qu'une ligne, la je te conseille de mettre des contrôles séparé et de les remplir en conséquence. Si tu as besoin d'encor un conseil n'hésite pas.
Marsh Posté le 13-05-2005 à 10:48:00
euh as tu essayé dataview et filtre? Dans cette situation je crée une view et je pose des filtre pour la datagrid.
Pour ton probleme de "cmbBox_SelectedIndexChanged" as tu activé le autopostback du control? si non, active le ça marchera mieux
Marsh Posté le 26-05-2005 à 23:53:48
Bonsoir,
après un long moment d'abscence je reviens me poser sur mon problème, dsl j'étais en exam.
Bon je pense être remonté à la racine du problème car même si mon combobox était rempli je pense que c'est lui qui pose un problème j'en suis quasiment sûre.
Voici la méthode qui permet le remplissage du comboBox:
(canto j'ai aussi testé avec un dataview aucune différence par rapport au dataset)
Code :
|
Donc voila, à ce moment l'appli plante mais remonte un message d'erreur de je ne sais où
"Le préfixe de colonne 'System.Data' ne correspond ni à un nom de table ni à un nom d'alias dans la requête"
merci d'avance de votre aide
Marsh Posté le 27-05-2005 à 00:09:38
tedhi-tech a écrit : Voici la méthode qui permet le remplissage du comboBox:
|
Vraiment chelou ce code :
cmbBox.Items.Clear(); |
Marsh Posté le 27-05-2005 à 00:23:44
mouai mais bon c'est de la syntaxe le problèm persiste...
Marsh Posté le 27-05-2005 à 00:26:03
Pour l'erreur chelou, c'est à quel endroit qu'elle se produit ?
Marsh Posté le 27-05-2005 à 00:27:55
ma méthode affiche du combobox est lancé dans le constructeur du formulaire, il me balance l'erreur mais apres il me rempli quand meme le combobox...
Marsh Posté le 04-05-2005 à 16:58:35
Bonjour,
bon maintenant j'ai un problème beaucoup plus sérieux à priori simple.
Je souhaitais remplir un DataGrid avec un DataSet typé qui contenait l'ensemble des
infos relatifs aux utilisateurs.
Et ce pour pouvoir remplir mon ComboBox.
Ensuite je souhaitais remplir la DataGrid avec l'évènement "cmbBox_SelectedIndexChanged".
Bon j'ai testé une première solution qui était de récupéré mon dataset typé avec toutes mes infos dedans
et de récupérer la row pour lequel l'utilisateur aurait cliqué dessus dans le combobox
Cette row serait introduit dans un nouveau dataset.
Et ce dataset serait mis en datasource de la datagrid loll.
Mais cela ne fonctionne pas (un peu sioukss com sol )
La deuxième sol serait de ne pas utiliser le dataset typé et donc de créer un dataset classique avec une requête qui récupérerai un row correspond à celle choisi dans le combobox.
Cette solution pose quelques problèmes
enfin le problème qui se pose majoritairement est le pb de l'évènement "cmbBox_SelectedIndexChanged" car
pour pouvoir faire un requete sur le choix du l'utilisateur ds le combo ne se fai pa (cmb.selectedvalue)
j'ai essayé l'évènement "cmbBox_SelectionChangeCommitted" j'obtiens de meilleur résultat car je peux choisir ds le comboobx avant de lancer la méthode qui affichera les infos dans la datagrid.
bon je ferai pas plus long
merci de votre aide
j'espere que vous comprendrez