2012-10-16 1 views
0

Je suis en train d'écrire un contrôle qui simplifiera certains processus d'édition dans un composant DbDataTable dotConnect.Obtention de la ligne actuellement sélectionnée dans un DARTDataDec dotConnect (éventuellement DataTable)

Une partie du processus d'édition consiste à pouvoir appeler BeginEdit() et EndEdit() sur la ligne en cours. De nombreux articles indiquent clairement que la ligne actuelle n'est pas gérée dans le DataTable, mais je me demande si ce n'est pas complètement exact ou si le DbDataDable (de dotConnect) ajoute cette couche.

Je peux créer un DbDataTable (sous la forme d'OracleDataTable) sur un formulaire et attacher 1) un DataGridView et 2) un ensemble de contrôles liés aux données tels que TextBoxes et CheckBoxes (utilisant la propriété DataSource sur les deux).

Cela signifie que lorsque la ligne courante change dans la grille, les valeurs dans les contrôles liés aux données changent également. Les contrôles liés aux données ne sont pas conscients de la sélection dans DataGridView, mais leurs valeurs changent en conséquence.

J'ai regardé toutes les propriétés et tout inspecté sur la table mais je ne trouve rien d'utile à distance. La seule piste que j'avais était la propriété DefaultView qui suggère qu'elle peut inclure une position de curseur, mais rien de plus n'est exposé à ce sujet.

La documentation de dotConnect manque assez d'exemples d'utilisation, donc je n'ai pas pu y trouver grand-chose (ni dans Google). Est-ce que quelqu'un a des informations sur si ces données peuvent être extraites d'un composant DbDataTable ou mon composant ne fonctionnera pas sans associer le DataGridView (ce qui le rend beaucoup moins flexible). Une autre option serait de créer un BindingSource, mais je dois ensuite modifier les liaisons sur tous les contrôles pour utiliser cette source de liaison.

Répondre

0

La solution de contournement que j'ai fini par utiliser est d'utiliser une BindingSource. Ce n'est pas la meilleure solution non plus, car il y a certainement un comportement bogué dans le couplage entre BindingSource et DbDataTable/OracleDataTable. Mais après quelques expériences, j'ai été en mesure de trouver des solutions de contournement pour ceux-ci aussi.

Questions connexes