begin process at 2010 02 09 18:43:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Base de données

 > 

ADO.NET

 > 

pb liaison données avec datagridview


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

pb liaison données avec datagridview

vendredi 24 novembre 2006 à 16:23:33 | pb liaison données avec datagridview

f1isj

Membre Club
Bonjour,

Debutant en ADO.net, j'ai un probleme avec un datagridview.

J'ai une base de données (access) avec 3 tables:
Dessin avec les champsdessinID, date, nom, form1ID, form2ID
Form avec les champs formID, NomForm, couleurID
Couleur avec les champs couleurID,CouleurNom

Ces tables sont en relation: Dessin avec Form et Form avec Couleur par les
ID donc 3 niveaux
Dessin
|
Form
|
Couleur

Je voudrais créer un datagridview affichant tous les champs, c'est à dire :
DessinID, date, form1NomForm, form1CouleurNom, form2NomForm,
form2CouleurNom.

Pas de probleme pour afficher dessinID, date, nom, nom des form 1 et 2
Par contre je ne vois pas comment afficher les couleurs.
Pour l'instant j'en suis là:
le DataGridView avec comme dataSource la table Dessin
1 colonne pour chaque champ désiré
date OK
Nom(dessin) OK
colonne form1NomForm: datasource=BindingSourceForm,
datapropertyname=form1Id, displaymember = nomForm, valuemember=form1ID
idem pour form2


Dans mon dataset, j'ai toutes les tables. Dans le datagrid, j'ai essayer de
creer une colonne combobox independante avec datasource= Couleur,
Valuemember= couleurID, displaymember=couleurnom
mais, impossible de pouvoir afficher le champ CouleurNom dans la propriete
DataPropertyName puisque le grid est lié à la table dessin et le champ
CouleurID n'est pas en lien direct avec la table dessin.
Au chargement du grid, les cellules correpondantes aux couleur sont vides.
Le combobox contient bien les couleurs quand on le deroule (2 clic
necessaire pourquoi ?) et la bonne couleur est selectionnée mais l'affichage
en non deroulé est vide. Par contre si je modifie la couleur, celle-ci reste
bien affichée

Comment recuperer le nom des couleurs et l'afficher dans le datagrid view?

Merci de vos reponse.

Eric
vendredi 24 novembre 2006 à 19:39:43 | Re : pb liaison données avec datagridview

Boudchiche

je ne comprend pas ce Que represente form2ID dans la table Dessin et s'est quoi ca form1NomForm, form1CouleurNom, form2NomForm,
form2CouleurNom.
Essaye de mieux explique ton code si tu veut qu'on t'aide
Ce que tu doit faire s'est remplir ton dataset par un requette qui rassemble tout les champs qui bien sur remplis une table 
Ou bien remplir directement un table par un dataadapter
et tu lie ta table au datagrid

samedi 25 novembre 2006 à 00:09:50 | Re : pb liaison données avec datagridview

f1isj

Membre Club

Bonsoir,

Ce n'est pas du code mais l'explication de ma BDD.
Meilleure explication pour les champs (j'espere):

Table1: nom=Dessin, champs= ID(identificateur)+ date + nom + form1 (qui va contenir un FormID de la table Form) + form2, identique à form1
Table2: nom=Form, champs= ID (identificateur), Nom (de la forme), Couleur (qui contient un ID de la table couleur).
Table3: nom=Couleur, champs=ID(identificateur), NomCouleur

Les tables sont en relation par les ID, cad que j'ai dans la table couleur par exemple
1, vert
2,rouge

dans la table Form
1(ID de la forme) , carré (nom de la forme) , 1 (ID de la couleur) (donc un carré vert)
2, rond, 2  (ID de la couleur) (donc un rond rouge)
3, carré, 2 (ID de la couleur) (donc un carré rouge)

dans la table dessin
1, 15/12/2005, essai, 1 (la form1 est un carré vert), 3 (la form2 est un carré rouge)

Je voudrais donc un datagridview qui m'affiche:
1, 15/12/2005, essai, carré, vert, carré , rouge

c'est a dire: ID du dessin, date, nom, nom de la form 1, couleur de la form1, nom de la forme2, couleur de la forme2
Mais apres moult recherches, c'est difficile à part avec une requete specifique et un nouveau dataset.
On fait facilement
ID, date, nom, nom form1, nom Form2 mais pour les couleurs c'est + dur car 1 niveau de plus dans la hierarchie des tables.
Merci quand meme de la reponse.

Eric

samedi 25 novembre 2006 à 14:28:45 | Re : pb liaison données avec datagridview

Boudchiche

Essaye ca et je crois que ca vas marcher si j'ai bien compris

Dim strsql as string
strsql="SELECT Dessin.ID_Dessin,Dessin.Date_Dessin,Dessin.Nom,Form1.Nom,Form2.Nom,Couleurs.Couleur FROM Dessin,Form1,Form2,Couleurs WHERE Dessin.ID_Dessin=From1.ID_Dessin AND Dessin.ID_Dessin=Form2.ID_Dessin AND Dessin.ID_Form1=Form1.ID_Form1 AND Dessin.ID_Form2=Form2.ID_Form2 AND Form1.ID_Couleur=Couleurs.ID_Couleur AND Form2.ID_Couleur=Couleurs.ID_Couleur"

Dim  TonAdapter as SqlDataAdapter=new sqlDataAdapter(StrSql,TaConnection)
Dim TaTable as new DataTable
TonAdapter.Fille(TaTable)
TonDataGridView.DataSource=TaTable
A plus
samedi 25 novembre 2006 à 14:30:37 | Re : pb liaison données avec datagridview

Boudchiche

Réponse acceptée !
dans la 2eme ligne de la requete ca n'apparais pas mais c couleurs.couleur
samedi 25 novembre 2006 à 18:26:22 | Re : pb liaison données avec datagridview

f1isj

Membre Club
Bonsoir,

Merci pour la reponse, c'est ce que j'ai fait.
Je pensais au depart que a partir du dataset (qui si j'ai bien compris conteient aussi les liaisons) comprenant toutes les tables de la base, on pouvait reconstruire n'imorte quelle donnée avec les liaisons dans le datagridview. Mais appremment c'est pas faisable. Ca peche au niveau du databinding du datagridview, on ne peut descendre que d'un niveau dans la hierarchie des tables.

Merci

eric


Eric


Cette discussion est classée dans : form, couleur, afficher, datagridview, dessin


Répondre à ce message

Sujets en rapport avec ce message

Mettre une couleur particuliere en Fond de FORM... [ par Flit ] Voilà j'ai le code RGB d'une couleur (9976172) mais quand je mets dans le Form_load :Form1.Backcolor = QBColor(9976172)Et bah ca me sort une erreur ge Afficher une form au 1er plan de mon application... [ par Patrik ] Salut,Je souhaite Afficher une form au 1er plan de mon application tant que je n'est pas clické sur OK.Je dis bien de mon application et non de toutes afficher une form crée avec Dim Copiefrm as new FormACopier sans la dupliquer a nouveau (voir details ...) SVP !!! : - ((((( [ par Valdeux ] par exemple, j'ai une form a copier (form1) en clikant sur un bouton (command1) ca donne ca :Private Su Afficher une form selon choix utilisateur [ par azf ] Bonjour.Comment résoudre le probleme suivent :je dispose d'un certain nombre de forms : formxx, formsyy, form aa, formvv................Ce que je souh Afficher une feuille excel dans un form [ par malu ] J'aimerais afficher une feuille excel dans un form afin de la modifier si necessaire et de l'imprimer.Quelqu'un peut-il m'aider?Merci! Afficher une "form WAIT..." à partir d'une classe. [ par GrosLolo ] Bonjour,J'aimerai avoir une fenêtre style "WAIT..." commune à plusieurs classes sans perturber l'execution du code dans la classe.Un "WAIT..." non blo Nouvelle couleur de form [ par Sphaxs ] SphaxsSalut tout le mondeJe voudrais savoir comment on donne (à une form) une couleur différente de celles prédéfinies dans la propriété de la form.M Lancer un .exe en fond sans afficher la form [ par vbproject ] Bonjour tout le monde,Voila mon probleme:J'ai un projet VB avec plein de modules et une form. En fait je voudrais faire en sorte d'executer mon .exe s Afficher sans stopper la macro [ par PetitGognol ] PetitGognolBonjour à tous,Je bosse sur VBA Excel et aimerait afficher des messages pendant que ma macro tourne. Si j'utilise une form, elle stoppe la Détourer un dessin [ par DARKSIDIOUS ] Bonjour à tous,J'ai besoin de votre aide : je suis en train de faire un prog de dessin, et je butte sur une difficulté.J'aimerai faire un outils corre


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,421 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales