Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 创建可绑定到WinForms控件的自定义数据表?_.net_Vb.net_Data Binding_Ado.net - Fatal编程技术网

.net 创建可绑定到WinForms控件的自定义数据表?

.net 创建可绑定到WinForms控件的自定义数据表?,.net,vb.net,data-binding,ado.net,.net,Vb.net,Data Binding,Ado.net,我们的商店主要使用“ADO对象”(我指的是数据集、数据表、和数据行)来封送数据,并在表单和网格中对其进行操作。我们正在尝试创建与本机ADO对象相对应的商店风格的对象,以便我们可以将我们的内部标准强加于它们之上 实现这一点很简单,但有一个例外:我希望我们的对象能够绑定到控件 我了解IList、IBindingList、BindingSource等,并对它们进行了研究和实验,但在使一个没有硬属性名称的类可绑定方面,我做得还不够。默认情况下,本机ADO对象不是强类型的。您可以通过Item属性访问列值(

我们的商店主要使用“ADO对象”(我指的是
数据集
数据表
、和
数据行
)来封送数据,并在表单和网格中对其进行操作。我们正在尝试创建与本机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的)?你的自定义类应该可以绑定到网格和控件。。。乍一看,这可能适合我的需要。我会更肯定地回来,因为我有时间更全面地阅读并尝试。谢谢你的帮助,安迪。