我想筛选一个表单上多个字段的查找。 问题是只有我添加的最后一个事件处理程序适用于所有字段。 为此,我想使用上下文来获取当前使用的字段。 但是,筛选器应用于窗体的“onload”事件中,在该窗体中我没有选定的上下文/字段。已筛选的查询多个字段
为此,我用这个代码:
function preFilterLookupFunction(executionContext)
{
var fieldname = new Array("field1","field2");
fLen = fieldname.length;
for (i = 0; i < fLen; i++)
{
var tempName = fieldname[i];
Xrm.Page.getControl(tempName).addPreSearch(function()
{
addLookupFilterFunction(executionContext);
});
}
}
function addLookupFilterFunction(executionContext)
{
var attribute = executionContext.getEventSource();
var tempFieldName = attribute.getName();
alert(tempFieldName)
var condition = Xrm.Page.getAttribute("fieldContition").getValue();
if (condition != null)
{
var fetchXml = "<filter type='and'><condition attribute='fieldContition' operator='eq' value='" + condition + "' /></filter>";
Xrm.Page.getControl(tempFieldName).addCustomFilter(fetchXml);
}
}
我的问题:是否有可能得到在addLookupFilterFunction
的背景下,同时执行,这样我就可以过滤器设置为右场?还是有更好的方法来过滤一个表单上的多个字段?
尼斯PIC Twiebie。 – user7393973
您需要将相同的过滤器应用于表单上的多个查找?我有没有得到那个权利? (顺便说一句:这是我第一次写的相同的代码) – Alex
@亚历确实。但我不想为每个字段分别添加事件处理程序。 – Twiebie