2017-08-15 87 views
1

我需要一些幫助,瞭解如何設置Dynamics CRM的3個層次相關選項集。動態CRM - 動態相關選項集

我目前使用的從屬選項集從SDK sample

問題是我有3個字段選項設置父,子和子子,並使用SDK示例是一切正常,直到子子選項基於父和子更改。這裏是一個例子,如果我沒有很好地解釋它。

說父具有的選項A,B,C,D。 兒童有1個,2個,3個,4 和子孩子有I,II,III,IV。

現在如果選擇

  • A,子進行濾波,以1和2
  • B被選擇,子被過濾以3和選擇4.
  • C,子進行濾波,以1,並且選擇3.
  • d,子進行濾波,以2和4

但如果

  • A和1被選中,子孩子被過濾到我和ii。
  • A和2被選中,子孩子被過濾到iii和iv。
  • B和3被選中,子孩子被過濾到i和iii。
  • B和4被選中,子孩子被過濾到ii和iv。
  • C和1被選中,子孩子被過濾到ii和iii。
  • C和3被選中,子孩子被過濾到i和iv。
  • 選擇D和2,將子孩子過濾到i和iii。
  • 選擇D和4,將子孩子過濾到iii和iv。

從示例中可以看到,SDK示例代碼不支持篩選不僅取決於子項而且取決於父項的子子選項集。

任何人都可以告訴我一個方法如何適應這個要求或引導我來源,將幫助我嗎?

回答

0

MSDN示例適用於級聯下拉菜單,但您的場景不是常規級聯。

我推薦這Another approach

這將是很容易保持&它使用自定義實體的配置不是XML。您必須調整queryPart以包含您的條件(如父母選擇列表條件),以便列出的選項可以基於配置進行填充。如果需要,您可以自定義配置實體以包含額外的條件。

//define the query for the Option Set Value entity 
var queryPart = "/wf_optionsetvalueSet?$select=wf_label,wf_OptionSetValue&$filter=(wf_ParentOptionSetSchemaName eq '" + parentOptSet + "') and (wf_ParentOptionSetTriggerValue eq " + selectedParentOption + ")"; 

對於這個解決方案,我決定存儲在自定義實體的選擇列表選項,而不是一個XML Web資源。此外,我創建了一個動態函數,可用於在運行時檢索相應的選擇列表選項,因爲每個連續的「父級」選擇列表值更改。這使我們可以爲任意數量的從屬選擇列表調用相同的代碼。

整個解決方案使用一個單一的自定義實體和一個作爲網絡資源實現的靜態塊作爲 javascript代碼。簡單地通過更新CRM中的選項集 值,然後在客戶 實體中輸入相應的記錄來完成修改相關的 選擇列表配置;所有本地CRM功能。無需額外的代碼。