Javascript 如何使用依赖选项集筛选查找?

Javascript 如何使用依赖选项集筛选查找?,javascript,crm,lookup,dynamics-crm-2015,optionsettype,Javascript,Crm,Lookup,Dynamics Crm 2015,Optionsettype,我试图过滤到一个产品,让用户更容易搜索特定的产品。目标是拥有一系列相关选项集,这些选项集以仅显示具有先前值的记录的查找字段结束。这些产品都是教科书。链条是这样的: -等级 -语言 -社论 -组件(如教科书、工作簿、图集等) -产品查找 前面的所有值都是产品表单上可用的选项集,因为每本教科书都有等级、语言、编辑和组件 我已经找到了如何在线实现依赖选项集和过滤查找,但我找不到将两者联系起来的方法。我尝试只使用过滤的查找,但似乎只有在我为年级、语言、编辑和组件创建单独的实体并将它们全部关联起来时,这种

我试图过滤到一个产品,让用户更容易搜索特定的产品。目标是拥有一系列相关选项集,这些选项集以仅显示具有先前值的记录的查找字段结束。这些产品都是教科书。链条是这样的:

-等级 -语言 -社论 -组件(如教科书、工作簿、图集等) -产品查找

前面的所有值都是产品表单上可用的选项集,因为每本教科书都有等级、语言、编辑和组件

我已经找到了如何在线实现依赖选项集和过滤查找,但我找不到将两者联系起来的方法。我尝试只使用过滤的查找,但似乎只有在我为年级、语言、编辑和组件创建单独的实体并将它们全部关联起来时,这种方法才有效


有人知道我如何实现我的目标吗?

您可以检索选项集的值,然后使用 方法来筛选查找

您的代码可能与下面的代码类似:

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);
}
函数预过滤器查找(){
Xrm.Page.getControl(“productfield”).addPreSearch(函数(){
addLookupFilter();
});
}
函数addLookupFilter(){
var grade=Xrm.Page.getAttribute(“gradefield”).getValue();
var language=Xrm.Page.getAttribute(“languagefield”).getValue();
var editive=Xrm.Page.getAttribute(“editorialfield”).getValue();
var component=Xrm.Page.getAttribute(“组件”).getValue();
var fetchXml=“”;
如果(等级!=null)
fetchXml+=“”;
if(语言!=null)
fetchXml+=“”;
如果(编辑!=null)
fetchXml+=“”;
如果(组件!=null)
fetchXml+=“”;
Xrm.Page.getControl(“productfield”).addCustomFilter(fetchXml);
}

谢谢。这很有帮助。