georgeduke
Messages postés167Date d'inscriptiondimanche 6 février 2005StatutMembreDernière intervention13 avril 2007
-
11 déc. 2005 à 23:51
georgeduke
Messages postés167Date d'inscriptiondimanche 6 février 2005StatutMembreDernière intervention13 avril 2007
-
15 déc. 2005 à 20:33
Bonjour,
C'est un problème curieux que je rencontre là. Je dispose d'un dataset dans lesquels j'alimente 3 tables :
- la table "membre" (membreCode, membreNom, ...)
- la table "equipes" (equipeCode, equipeNom, ...)
- la table "lien_membre_equipe" (equipeCode, equipeCode)
Il apparaissait alors intéressant de créer une DataRelation entre la table "membre" et "lien_membre_equipe" de mon DataSet :
teamDataRelation = new DataRelation("membreTeam", ds.Tables["membres"].Columns["MEMBRECODE"], ds.Tables["lien_membre_equipe"].Columns["MEMBRECODE"]);
Après j'alimente deux datagrids :
- dg_membres -> dg_membres.SetDataBinding(ds,"membres");
- dg_membreEquipes -> dg_membreEquipes.SetDataBinding(ds,"membres.membreTeam");
Comme il est plus sympa pour l'utilisateur de saisir directement le nom de l'équipe au lieu de tapper le code de l'équipe, j'ai donc choisi à l'aide d'un DataGridStyle, d'afficher dans la colonne "EQUIPECODE" de mon datagrid un menu déroulant avec le nom des équipes, tout en renvoyant l'EQUIPECODE correspondant.
Ca fonctionne "presque bien" si ce n'est qu'au lieu de visualiser
dans dg_membresEquipes
le nom de l'équipe
correspondant au membre sélectionné dans dg_membres, j'obtiens "null"
Le plus louche c'est quand je clique sur null, j'ai mon combobox qui s'ouvre et je peux choisir un nom d'équipe. Et même l'enregistrement fonctionne !! Mais une fois enregistré, je me retrouve de nouveau avec l'intitulé "null" dans mon datagrid. (en base de données par contre l'enregistrement reste toujours correct)
Une idée ? Serait-ce une histoire de "rafraichissement" ?
Le code de mon datagridStyle au besoin :
tableStyle = new DataGridTableStyle();
tableStyle.MappingName = "lien_membre_equipe";
tableStyle.RowHeadersVisible = true;
tableStyle.RowHeaderWidth = 40;
georgeduke
Messages postés167Date d'inscriptiondimanche 6 février 2005StatutMembreDernière intervention13 avril 2007 11 déc. 2005 à 23:54
Dsl pour les polices de grandes tailles ce n'était pas volontaire :-/
et petite correction pour la table "lien_membre_equipe" elle se compose de (membreCode, equipeCode)
georgeduke
Messages postés167Date d'inscriptiondimanche 6 février 2005StatutMembreDernière intervention13 avril 2007 15 déc. 2005 à 20:33
Salut et merci de ta réponse. Non à priori je ne pense pas qu'il faille faire cette relation, car finalement j'affiche uniquement la table lien_membre_equipe avec un petit datagridTablestyle pour que l'utilisateur choisisse le nom d'une équipe mais que la valeur retournée soit un code... Et cela fonctionne presque car l'enregistrement ne pose pas de problème...
Mais bon je continue l'enquête... mais ne vous gênez pas pour me donner un chti coups de pouce :-)