【问题标题】:WinForms - Databinding to 2 tables on 1 form and saving to the databaseWinForms - 将数据绑定到 1 个表单上的 2 个表并保存到数据库
【发布时间】:2010-02-14 12:35:06
【问题描述】:

我有一个表格,其中包含有关客户的信息,例如/职务、姓名和他们的地址,例如/城镇、国家/地区。

我为每个表都有一个类,它有一个 Save 方法来更新数据库。

我正在考虑使用 2 个绑定源,一个用于客户端,一个用于地址。控件将绑定到相关的绑定源。当用户单击保存按钮时,它将在每个绑定源上调用 EndEdit,然后为 CurrentItem 调用 Save 方法。

这听起来是个好方法吗?

【问题讨论】:

    标签: c# winforms data-binding


    【解决方案1】:

    您需要确保类/表之间的关系。

    我会确保您在数据库中定义了适当的 FK 约束,然后生成 Linq2Sql 或 ADO.Net 实体模型并绑定到它。

    生成模型后,Data>Add new datasource>Object 并从实体模型中选择客户对象。

    确保您使用数据源工具窗口上的下拉菜单为您的客户和嵌套地址选择“详细信息”。

    将客户从数据源工具窗口拖到表单中。

    然后将客户的地址属性从工具窗口拖到表单中。

    您现在有 2 个绑定源,一个用于客户,一个用于地址。地址绑定源将使用客户绑定源作为它的数据源。

    你现在被覆盖了。编辑您的表单并保存。

    在 winforms 应用程序上使用 POCO dtos 滚动您自己的数据绑定比您想要做的工作更多,尤其是在已经为您提供这些设施的情况下。

    【讨论】:

    • 我无法将地址属性中的任何内容拖到表单中。我班级中的类型是 IQueryable 所以我想这可能就是原因。我所做的是创建两个类的 ViewModel 并将信息从每个类拖到表单中,并且只使用一个绑定源就可以了。谢谢
    • 你去。我打算只是说'嵌套你的类并从根目录创建一个数据源',但有时很难说这是否会有所帮助。干杯。
    猜你喜欢
    • 1970-01-01
    • 2013-10-05
    • 1970-01-01
    • 2013-05-02
    • 2019-08-21
    • 1970-01-01
    • 1970-01-01
    • 2015-12-29
    • 2017-03-06
    相关资源
    最近更新 更多