【发布时间】:2019-06-05 14:27:40
【问题描述】:
我在这里有一些 JS 代码,它使用某些条件创建自定义过滤器,然后将其添加到表单上的查找字段中。当此代码第一次被触发并运行时,它可以正常工作;出现正确的结果。但是,如果您更改自定义过滤器的条件(更改 createCustomFilter 命令用于创建 fetchxml 的表单上的字段之一),那么当应该有结果时,查找中不会显示任何结果。
此问题仅出现在新的统一接口中。我已经在 Web 界面中测试了相同的代码,但没有出现此问题;代码运行正常。
我的猜测是之前应用的过滤器没有被删除?这就是为什么没有结果显示的原因。是否有任何解决方法可以让它在 UCI 中工作?
请指教。
var filter;
function OnFieldChange(executionContext) {
var formContext = executionContext.getFormContext();
if (filter != "" && filter != null) {
formContext.getControl("test_lookupfield").removePreSearch(lookupCustomFilter);
}
filter = createCustomFilter(executionContext);
formContext.getControl("test_lookupfield").addPreSearch(lookupCustomFilter);
}
function lookupCustomFilter(executionContext) {
var formContext = executionContext.getFormContext();
formContext.getControl("test_lookupfield").addCustomFilter(filter);
}
function createCustomFilter(executionContext) {
//creates a custom fetchxml filter that has been tested and is correct
}
【问题讨论】:
标签: javascript dynamics-crm microsoft-dynamics dynamics-crm-365-v9 dynamics-crm-uci