我正在尝试过滤产品,以使用户更容易搜索特定产品。目标是要有一系列依存的选项集,它们以一个查找字段结束,该查找字段仅显示具有先前值的记录。产品均为教科书。链条如下:

-年级
-语言
-社论
-组件(例如教科书,工作簿,地图集等)
-产品查询

先前的所有值都是“产品”表单上可用的选项集,因为每本教科书都有等级,语言,社论和组成部分。

我已经找到了如何在线实现依赖选项集和筛选查询的方法,但是我找不到将两者关联的方法。我尝试仅使用过滤的查找,但似乎只有当我为成绩,语言,社论和组件创建单独的实体并将它们全部关联时,它才起作用。

有人对我如何实现目标有想法吗?

最佳答案

您可以检索选项集的值,然后使用addPreSearch
筛选查询的方法。

您的代码可能类似于以下代码:

function preFilterLookup() {
Xrm.Page.getControl("productfield").addPreSearch(function () {
    addLookupFilter();
});
}

function addLookupFilter() {
var grade = Xrm.Page.getAttribute("gradefield").getValue();
var language = Xrm.Page.getAttribute("languagefield").getValue();
var editorial = Xrm.Page.getAttribute("editorialfield").getValue();
var component = Xrm.Page.getAttribute("component").getValue();

var fetchXml = "";

if (grade != null)
    fetchXml += "<filter type='and'><condition attribute='gradefield' operator='eq' value='" + grade + "' /></filter>";

if (language != null)
    fetchXml += "<filter type='and'><condition attribute='languagefield' operator='eq' value='" + language + "' /></filter>";

if (editorial != null)
    fetchXml += "<filter type='and'><condition attribute='editorialfield' operator='eq' value='" + editorial + "' /></filter>";

if (component != null)
    fetchXml += "<filter type='and'><condition attribute='component' operator='eq' value='" + component + "' /></filter>";

Xrm.Page.getControl("productfield").addCustomFilter(fetchXml);
}

关于javascript - 如何使用相关选项集过滤查找?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37006418/

10-11 08:52