【发布时间】:2011-08-25 14:43:06
【问题描述】:
我们的商店主要使用“ADO 对象”(我指的是DataSet、DataTable 和DataRow)来编组数据并在表单和网格中对其进行操作。我们正在尝试为本地 ADO 对象创建商店风格的对应对象,以便我们可以将我们的内部标准强加于它们之上。
实现这一点很简单,但有一个例外:我希望我们的对象可以绑定到控件。
我知道 IList、IBindingList、BindingSource 等,并且已经查看并尝试过这些,但是在使一个类没有硬属性名称可绑定方面我做得不够好.默认情况下,本机 ADO 对象不是强类型的。您可以通过Item 属性(例如row("Age") 或row.Item("Age"))访问列值。我在网上找到的绑定示例处理强类型对象(例如row.Age)。本质上,我们希望创建自定义 ADO 对象(不是从本机对象继承的),它们仍然保留绑定到控件的能力。
是否有一个简单的例子来说明如何实现?
在网格中,我希望从通过row("Name")、row("Age") 和row("Occupation") 公开这些属性的行中看到列Name、Age 和Occupation。这必须是可行的,因为这正是原生 DataTable 和 DataRow 提供的。
这是对 earlier question 的改进。
【问题讨论】:
-
您的问题是什么?数据表是可绑定的
-
我认为您在尝试实现“Item(...)”进行绑定时是在叫错树。我尝试制作自己的 DataRow 类型对象,实现“Item(...)”及其所有重载,但在绑定时这些都不会被调用。您需要寻找另一种让控件相信有一个名为“Age”的属性的方法,只是不确定那会是什么......
-
msarchet -- 如果不继承现有的 ADO.NET 类,您如何自己实现一个基本的 DataTable/DataRow(您的所有代码而不是 Microsoft 的)?您的自定义类应该可以绑定到网格和控件。
标签: .net vb.net data-binding ado.net