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

时间:2016-10-26 15:34:38

标签: javascript dynamics-crm-2016

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

像往常一样,该子网格有一个“+”按钮,当点击它时,会显示一个右边有沙漏的文本框。单击沙漏时,下拉部署,显示所有EntityB记录。在此列表的末尾,有一个“新建+”按钮,允许用户添加新记录。

由于这是1:N关系,因此添加已链接到另一个EntityA的EntityB会引发错误,表明该记录已经关联。

为什么它不会过滤或阻止选择其他记录呢?

如果我无法配置网格,那么当点击“+”图标时,它会直接创建EntityB的形式,我是否可以至少过滤下拉列表,以便它根本不显示任何记录并减少用户的可能性通过仅显示“新建+”链接而感到困惑?

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

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

但是对于那个下拉列表,我很茫然。

1 个答案:

答案 0 :(得分:2)

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

使Entity A上的查询字段(至EntityB)形成必填字段,当点击+按钮时,该字段将自动创建新记录。