J'ai un soucis pour lire une valeur d'un champ sur un enregistrement d'une table. Je vais essayer d'expliquer au plus clair :
Dans le code ci dessous, les BS_**** sont des bindingsource.
J'ai une relation entre le binding Appellation et Région.
Ensuite je désire effectuer ma lecture dans la table Appellation sur l'enregistrement sélectionné via le binding source qui est en détail sur Région.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 //Source du combo Region (table région en détail sur table pays) string chaineSQL_Region = "SELECT REG_ID, REG_IDNOMPAYS, REG_NOMREGION FROM Regions ORDER BY REG_NOMREGION"; OleDbDataAdapter DBA_Region = new OleDbDataAdapter (chaineSQL_Region, m_connexion); DBA_Region.Fill(dset, "Regions"); BS_Region.DataSource = BS_Pays; BS_Region.DataMember = "Rel_Pays_Regions"; cbxRegion.DataSource = BS_Region; cbxRegion.DisplayMember = "REG_NOMREGION"; //Source du combo Appellation (table appellation en détail sur table région) string chaineSQL_Appellation = "SELECT APL_ID, APL_NOMAPPELLATION, APL_PAYS, APL_REGION, APL_TYPEROUGE, " + "APL_TYPEBLANC, APL_TYPEBLANCLIQ, APL_TYPEROSE, APL_TYPEGRIS, APL_TYPEJAUNE, " + "APL_TYPEEFFEBLANC, APL_TYPEEFFEROSE, APL_TYPEEFFEROUGE, APL_TYPEAUTRES " + "FROM Appellation ORDER BY APL_NOMAPPELLATION"; OleDbDataAdapter DBA_Appellation = new OleDbDataAdapter (chaineSQL_Appellation, m_connexion); DBA_Appellation.Fill(dset, "Appellation"); BS_Appellation.DataSource = BS_Region; BS_Appellation.DataMember = "Rel_Regions_Appellation"; cbxAppellation.DataSource = BS_Appellation; cbxAppellation.DisplayMember = "APL_NOMAPPELLATION";
C'est là que j'ai mon souci car je récupère l'index du binding
qui ne correspond pas, bien évidemment à l'index de la table appellation qui elle n'est pas en détail
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2int a = BS_Appellation.Position;
J'espère avoir été assez clair et voilà ma question :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 VF = (bool)dset.Tables["Appellation"].Rows[a][dset.Tables ["Appellation"].Columns["APL_TYPEROSE"]];
Est-il possible d'effectuer la lecture directement via le binding BS_Appellation, genre :
où si vous avez une meilleure suggestion! Merci beaucoup pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part BS_Appellation.Current ????
Partager