我正在尝试删除 PreSearch 文件管理器,我的代码如下。我怎样才能达到同样的目标?

Xrm.Page.getControl("productid").removePreSearch(function () {
    Object
});

Xrm.Page.getControl("productid").addPreSearch(function () {
    fetchxml2();
});

function fetchxml2() {
    var fetchXml1 = "<filter type='and'>"
    fetchXml1 += "<condition attribute='productid' operator='in' >";
    for (var i = 0; i < Itemid.length; i++) {
        fetchXml1 += "<value>" + Itemid[i] + "</value>";
    }

    fetchXml1 += "</condition>";
    fetchXml1 += "</filter>";
    Xrm.Page.getControl("productid").addCustomFilter(fetchXml1);
    //Xrm.Page.getControl("productid").removePreSearch(fetchXml1);

};

最佳答案

为了能够通过 removePreSearch 删除处理程序,通过创建一个命名函数并在 addPreSearchremovePreSearch 中使用它来避免使用匿名函数:

function preSearchHandler(){
    fetchxml2();
}

Xrm.Page.getControl("productid").removePreSearch(preSearchHandler);

Xrm.Page.getControl("productid").addPreSearch(preSearchHandler);

关于dynamics-crm-2011 - 如何删除 addPreSearch 过滤器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26486659/

10-10 22:14