[C# 2.0] Comment résoudre un souci de lecture DataTable/BindingSource ?
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.
Code:
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"; |
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.
C'est là que j'ai mon souci car je récupère l'index du binding
Code:
1 2
|
int a = BS_Appellation.Position; |
qui ne correspond pas, bien évidemment à l'index de la table appellation qui elle n'est pas en détail
Code:
1 2 3
|
VF = (bool)dset.Tables["Appellation"].Rows[a][dset.Tables
["Appellation"].Columns["APL_TYPEROSE"]]; |
J'espère avoir été assez clair et voilà ma question :
Est-il possible d'effectuer la lecture directement via le binding BS_Appellation, genre :
Code:
BS_Appellation.Current ????
où si vous avez une meilleure suggestion! Merci beaucoup pour votre aide.