【发布时间】:2010-10-27 06:47:01
【问题描述】:
对于如何通过使用 DataBindings 来优化我的程序,我有点困惑。我的程序使用了几个 Linq2SQL 绑定的对象来存储数据。所有 ORM 对象都存储在层次结构中。在第二个 GUI 项目中,我在一些文本和组合框字段中显示这些数据。
数据结构层次如下:
-
JobManager包含Jobs的字典 - 每个作业都包含一个
Jobitems字典 - 每个 Jobitem 都包含一个
Article
Job、Jobitem 和 Article 都是 Linq2SQL 对象,代表一个 ORM。
现在我有一个带有 2 个列表视图和一个选项卡窗格的 GUI。选项卡窗格显示作业、作业项和文章的属性,并提供修改作业和作业项的可能性。 GUI 的行为应该是这样的:
- 在第一个 ListView 中选择
Job时,相关作业项将显示在第二个 ListView 中,有关作业的详细信息将显示在选项卡窗格中。 - 在第二个 ListView 中选择
Jobitem时,jobitem 详细信息和文章详细信息会显示在选项卡窗格中,但只有 Jobitem 信息是可编辑的。 - 更改完成后,用户必须有意保存它们。否则,更改应该被丢弃并且不会同步到数据库。
如何使用 DataBinding 实现此行为?
特别是,我可以一次将完整的集合绑定到单个 TextField 并在 ListViews 中的选择指定的位置移动吗?还是我必须为用户执行的每个选择在每个作业的基础上添加和删除单独的 DataBinding?
【问题讨论】:
-
回复您的评论 - 我将添加一些文本字段...
标签: c# winforms linq-to-sql data-binding