我想篩選一個表單上多個字段的查找。 問題是隻有我添加的最後一個事件處理程序適用於所有字段。 爲此,我想使用上下文來獲取當前使用的字段。 但是,篩選器應用於窗體的「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