.net 创建可绑定到WinForms控件的自定义数据表?
我们的商店主要使用“ADO对象”(我指的是.net 创建可绑定到WinForms控件的自定义数据表?,.net,vb.net,data-binding,ado.net,.net,Vb.net,Data Binding,Ado.net,我们的商店主要使用“ADO对象”(我指的是数据集、数据表、和数据行)来封送数据,并在表单和网格中对其进行操作。我们正在尝试创建与本机ADO对象相对应的商店风格的对象,以便我们可以将我们的内部标准强加于它们之上 实现这一点很简单,但有一个例外:我希望我们的对象能够绑定到控件 我了解IList、IBindingList、BindingSource等,并对它们进行了研究和实验,但在使一个没有硬属性名称的类可绑定方面,我做得还不够。默认情况下,本机ADO对象不是强类型的。您可以通过Item属性访问列值(
数据集
、数据表
、和数据行
)来封送数据,并在表单和网格中对其进行操作。我们正在尝试创建与本机ADO对象相对应的商店风格的对象,以便我们可以将我们的内部标准强加于它们之上
实现这一点很简单,但有一个例外:我希望我们的对象能够绑定到控件
我了解IList、IBindingList、BindingSource等,并对它们进行了研究和实验,但在使一个没有硬属性名称的类可绑定方面,我做得还不够。默认情况下,本机ADO对象不是强类型的。您可以通过Item
属性访问列值(例如行(“年龄”)
或行.Item(“年龄”)
)。我在网上找到的绑定示例处理强类型对象(例如,row.Age
)。本质上,我们希望创建自定义ADO对象(不是从本机对象继承的),这些对象仍然保留绑定到控件的能力
有没有一个简单的例子来说明如何实现这一点
在一个网格中,我希望从一行中看到列Name
、Age
和occulation
,这些属性通过row(“Name”)
、row(“Age”)和row(“occulation”)
公开。这必须是可行的,因为这正是本机DataTable
和DataRow
提供的
这是对的改进。您似乎需要使用ITypedList接口,它与PropertyDescriptor一起工作。我在这里找到的最清晰的文章是:
不久前我自己也尝试过这一点,基于本文,我将再次尝试。你的问题是什么?DataTables是可绑定的我认为您试图实现绑定的“项(…)”是错误的。我尝试创建自己的DataRow类型对象,实现“Item(…)”及其所有重载,但绑定时从未调用这些重载。您需要研究另一种方法,使控件相信存在一个名为“Age”的属性,只是还不确定该属性是什么…msarchet--如果不继承现有的ADO.NET类,您如何自己实现一个基本的DataTable/DataRow(所有的代码,没有Microsoft的)?你的自定义类应该可以绑定到网格和控件。。。乍一看,这可能适合我的需要。我会更肯定地回来,因为我有时间更全面地阅读并尝试。谢谢你的帮助,安迪。