我正在编写一个控件,它将简化dotConnect DbDataTable组件中的某些编辑过程。
编辑过程的一部分是能够在当前行上调用BeginEdit()和EndEdit()。许多文章明确指出当前行不是在DataTable中管理的,但是我想知道这是不是完全准确,或者DbDataDable(来自dotConnect)是否添加了这一层。
我可以在表单上创建一个DbDataTable(以OracleDataTable的形式),并附加1)DataGridView和2)一组数据绑定控件,如TextBoxes和CheckBoxes(两者都使用DataSource属性)。 / p>
这意味着当网格中当前行发生更改时,数据绑定控件中的值也会更改。数据绑定控件不知道DataGridView中的选择,但它们的值会相应地更改。
我查看了所有属性并检查了有关该表的所有内容,但我找不到任何远程有用的内容。我唯一的领导是DefaultView属性,它表明它可以包含一个光标位置,但没有更多的内容暴露出来。
dotConnect的文档在使用示例方面非常缺乏,所以我也找不到它(也不是在Google中)。
是否有人知道是否可以从DbDataTable组件中提取此数据,或者如果没有关联DataGridView,我的组件也无法工作(这会使其灵活性降低很多)。另一种选择是创建一个BindingSource,但是我必须更改所有控件上的绑定才能使用该绑定源。
答案 0 :(得分:0)
我最终使用的解决方法是使用BindingSource。这也不是最好的解决方案,因为在BindingSource和DbDataTable / OracleDataTable之间的耦合中肯定存在一些错误行为。但经过一些实验后,我也能够找到解决这些问题的方法。