2016-05-03 30 views
1

我正在嘗試過濾到產品,以便爲用戶更輕鬆地搜索特定產品。目標是建立一系列依賴選項集,這些選項集以查找字段結束,該查詢字段只顯示具有以前值的記錄。這些產品都是教科書。鏈都按這樣的:如何使用從屬選項集來過濾查找?

-grade -language -Editorial -component(如:課本,練習冊,圖冊等) - 產品查找

以前所有的值是選項集可用因爲每本教科書都有一個年級,語言,編輯和組件。

我發現如何實現依賴選項集和在線篩選查找,但我找不到方法來關聯這兩個。我試着只使用過濾的查找,但似乎只有在我爲等級,語言,編輯和組件創建單獨的實體並將它們全部關聯時才起作用。

有沒有人有我如何能實現我的目標的想法?

回答

2

您可以檢索選項集的值,然後使用addPreSearch 方法過濾查找。

您的代碼可能類似於下面的代碼:

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); 
} 
+0

謝謝。這非常有幫助。 –

相關問題