0

我正在编写一个控件,它将简化 dotConnect DbDataTable 组件中的一些编辑过程。

编辑过程的一部分是能够在当前行上调用 BeginEdit() 和 EndEdit()。许多文章清楚地表明当前行不在 DataTable 中管理,但是我想知道这是否不完全准确,或者 DbDataDable(来自 dotConnect)是否添加了这一层。

我可以在表单上创建一个 DbDataTable(以 OracleDataTable 的形式),并附加 1)一个 DataGridView 和 2)一组数据绑定控件,例如 TextBoxes 和 CheckBoxes(使用两者上的 DataSource 属性)。

这意味着当网格中的当前行发生变化时,数据绑定控件中的值也会发生变化。数据绑定控件不知道 DataGridView 中的选择,但它们的值会相应更改。

我查看了所有属性并检查了有关桌子的所有内容,但我找不到任何远程有用的东西。我唯一的线索是 DefaultView 属性,它表明它可以包含光标位置,但没有更多关于此的公开。

dotConnect 的文档在使用示例方面非常缺乏,所以我也无法在那里找到很多东西(谷歌也没有)。

有没有人知道是否可以从 DbDataTable 组件中提取此数据,或者如果不关联 DataGridView(这使得它不那么灵活),我的组件是否将无法工作。另一种选择是创建一个 BindingSource,但是我必须更改所有控件上的绑定以使用该绑定源。

4

1 回答 1

0

我最终使用的解决方法是使用 BindingSource。这也不是最好的解决方案,因为在 BindingSource 和 DbDataTable/OracleDataTable 之间的耦合中肯定存在一些错误行为。但是经过一些试验后,我也能够找出解决方法。

于 2012-10-17T18:38:08.557 回答