0

dotConnect DbDataTable コンポーネントの編集プロセスの一部を簡素化するコントロールを作成しています。

編集プロセスの一部として、現在の行で BeginEdit() および EndEdit() を呼び出すことができます。多くの記事では、現在の行が DataTable で管理されていないことを明確にしていますが、それが完全に正確ではないのか、DbDataDable (dotConnect から) がこのレイヤーを追加するのか疑問に思っています。

フォーム上に DbDataTable (OracleDataTable の形式) を作成し、1) DataGridView と 2) TextBoxes や CheckBoxes などのデータ バインド コントロールのセット (両方で DataSource プロパティを使用) をアタッチできます。

これは、グリッドで現在の行が変更されると、データ バインド コントロールの値も変更されることを意味します。データ バインドされたコントロールは、DataGridView での選択を認識しませんが、それに応じて値が変更されます。

すべてのプロパティを調べ、テーブルに関するすべてを調べましたが、リモートで役立つものは何も見つかりません。私が持っていた唯一のリードは、カーソル位置を含めることができることを示唆する DefaultView プロパティでしたが、これについてはこれ以上何も公開されていません。

dotConnect のドキュメントは、使用例に関してかなり不足しているため、そこにも (Google でも) あまり見つけることができませんでした。

このデータを DbDataTable コンポーネントから抽出できるかどうか、または DataGridView を関連付けないとコンポーネントが機能しないかどうかについて、誰かが情報を持っていますか (柔軟性が大幅に低下します)。もう 1 つのオプションは BindingSource を作成することですが、そのバインディング ソースを使用するには、すべてのコントロールのバインディングを変更する必要があります。

4

1 に答える 1

0

私が最終的に使用した回避策は、BindingSource を使用することです。BindingSource と DbDataTable/OracleDataTable の間の結合には間違いなくバグのある動作があるため、これも最善の解決策ではありません。しかし、いくつかの実験の後、これらの回避策も見つけることができました.

于 2012-10-17T18:38:08.557 に答える