在子网格上添加过滤器添加按钮下拉列表

Adding filter on subgrid add button dropdown list

我有一个从 EntityA 到 EntityB 的 1:N 关系,我在 EntityA 的表格上放置了一个子网格,显示所有相关的 (1:N) EntityB 记录。

像往常一样,该子网格有一个“+”按钮,单击它时,会在右侧显示一个带有沙漏的文本框。单击沙漏时,会展开一个下拉列表,显示所有 EntityB 记录。在此列表的末尾,有一个 "New +" 按钮,让用户可以添加新记录。

因为这是一个 1:N 关系,将一个已经 link 的 EntityB 添加到另一个 EntityA 会抛出一个错误,指出该记录已经关联。

为什么不过滤或阻止 select 其他记录的能力?

如果我无法配置网格以便在单击“+”图标时直接创建 EntityB 的表单,我是否可以至少过滤下拉列表以便它根本不显示任何记录并降低可能性的用户因仅显示 "New +" link ?

而感到困惑

我知道如何过滤简单的查找字段

Xrm.Page.getControl('new_field').addPreSearch(function () {
    Xrm.Page.getControl('new_field').addCustomFilter(fetchXml);
});

但是对于那个下拉列表,我不知所措。

这是因为您在 EntityAEntityB 之间有一个 1:N 关系,而关系字段(查找)不是必填字段。这不会强制关系完整性,这意味着您可以在没有相关记录的记录之间建立关联。

EntityB 上的查找字段(至 Entity A)设为必填字段,单击 + 按钮时将自动创建新记录。