有人可以建议创建用于建立多对多关系的UI的最佳方法吗?
让我们使用上一个问题列表<< - >>中的示例患者
我可以创建两个单独的表视图,一个用于列表,另一个用于患者,这将允许用户使用两个单独创建的阵列控制器(列表和患者)创建列表和患者,一个链接到列表实体,另一个链接到患者实体。
现在,我希望能够通过创建仅显示所选列表中的患者的表视图来添加/删除列表中的患者。为此,我创建了一个链接到实体Patient的Array Controller(ListPatients),其内容集绑定到Lists.selection.patients。
现在事情从这里停止了......
如果我将按钮绑定到ListPatients.add方法,则会创建一个新患者 - 似乎无法简单地在现有患者和列表之间添加新关系。
理想情况下,我希望能够做一个下拉列表,从中选择患者。
是否有人建议如何最好地执行此操作,而无需创建新实体来表示此关系。
答案 0 :(得分:0)
您需要的是交换Master-Detail视图,其中List
表或Patient
表在任何特定时间是Master或Detail。
当List
是主视图时,选择一行将使详细信息视图显示Patient
关系中的所有rowList.patients
个对象。当Patient
是主视图时,选择一行将使详细信息视图显示List
关系中的所有rowPatient.lists
个对象。
您确实想要分解用户界面,以便用户始终清楚地了解两个表之间的关系。我建议使用一组四个表,每个表用于每个Master-Detail设置。这样,用户也将了解他们正在看什么。
这也可以轻松添加新对象。只需在详细信息表下放置一个add new
按钮,用户就会明白单击它会将新对象添加到在主视图中选择的对象的关系中。