【发布时间】:2012-04-25 08:09:37
【问题描述】:
我有一个带有列表样式表单的 Windows 表单应用程序,其中包含父记录和任何选定父记录的许多相关子记录。
即。拥有多张发票/报价单/信函等的客户。
我的表单布局有一个父记录列表,当用户选择父记录时,表单上的其他列表会填充相关的子信息。所有这些列表,用户都可以打开任何记录的详细表单。例如,用户可以选择客户 1,然后选择详细信息,然后将打开一个客户详细信息表单,其中显示客户 1 的信息。用户可以返回并选择客户 1 的相关记录,比如说发票 1,然后打开显示发票 1 信息的发票详细信息表单。
因此,在任何时候,用户都可能打开多个发票/报价单/信件等详细表格。用户还可以选择另一个客户并通过打开详细信息表单的相同过程。
The problem I have is that when customer 1 is selected and the user wants to display the detail form I need to check all open forms to see if customer 1 detail form is already opened.
我想知道在这种情况下什么被认为是好的做法。
我试图找到一些可以以某种方式应用于所有表单的通用方法。
【问题讨论】:
-
对我最初的问题更进一步,并且在打开这些详细信息表单时使事情变得更加复杂,它们也可能包含一个列表,并且该列表可以生成某种类型的更多详细信息表单。我想它就像一棵相关表格的树。我遇到的主要问题是,如果我在此表单树中的某处删除父信息,我需要遍历所有打开的表单以查找相关的详细表单并相应地关闭它们。我看到它是一个带有 Id 和 parentId 的表,我想删除与特定 Id 相关的所有子记录......希望这是有道理的。 ——