WinForms - 将数据绑定到1表格上的2个表格并保存到数据库
问题描述:
我有一个表格,其中包含有关客户端的信息,例如/ Title,Name和他们的地址eg/Town,Country。WinForms - 将数据绑定到1表格上的2个表格并保存到数据库
我有一个类,每个表有一个Save方法来更新数据库。
我在考虑为客户端和地址分配一个绑定资源。控件将绑定到相关的绑定源。当用户点击保存按钮时,它将在每个绑定源上调用EndEdit,然后为CurrentItem调用Save方法。
这听起来不错吗?
答
您需要确保类/表之间的关系。
我会确保你有你的数据库中定义的适当的FK约束,然后生成Linq2Sql或ADO.Net实体模型并绑定到那个。
生成模型后,选择数据>添加新数据源>对象,然后从您的实体模型中选择客户对象。
确保您使用数据源工具窗口上的下拉列表为您的客户和嵌套地址选择“详细信息”。
将客户从数据源工具窗口拖到表单中。
然后将客户的地址属性从工具窗口拖到窗体上。
您现在有2个绑定源,一个用于客户,另一个用于地址。地址绑定源将使用客户绑定源作为其数据源。
你现在被覆盖。编辑你的表格并保存。
使用POCO dtos在winforms应用程序上滚动自己的数据绑定只是比您想要做的更多的工作,特别是当设施已经为您提供时。
我无法将任何东西从地址属性拖到窗体上。我班的类型是IQueryable,所以我想这可能是为什么。我所做的就是创建这两个类的ViewModel,并将每个类的信息拖放到表单上,并且只使用一个绑定源。谢谢 – Jon 2010-02-15 11:42:56
你去了。我打算只是说'嵌套你的课程并从根源创建一个数据源',但很难说是否有时会有帮助。干杯。 – 2010-02-15 12:44:09