MSCRM2011 列表聯動 ,列表級聯,從屬選項集

在對MS CRM 2011進行二次開發的過程中,我們最經常遇到的一個案例便是列表聯動,如下圖所示

“類別”的選擇決定了“子類別”的顯示,“子類別”的選擇決定了“類型”的顯示結果。
又如,國家,省市,縣的顯示。看到網上有人寫出例子,但感覺都不怎麼好。最近在看微軟的SDK文檔中,發現裏面介紹了一個非常簡單的方法。趕緊給大家介紹一下,省得大家糾結。
“(選擇)列表聯動”也叫“列表級聯”,列表在之前CRM中爲picklist(選擇列表)在MSCRM2011中變成了OptionSet(選項集),因此叫法也就成了“從屬選項集”。
正文:
通常要求一個選項集字段中的值由另一個選項集字段中選擇的值進行篩選。本文介紹通過可重用的 JScript 庫、窗體事件和 XML Web 資源實現此要求的方法。

此解決方案的目標
此解決方案旨在滿足以下要求:

它提供可用於任何選項集字段對的常規、可重用 JScript 庫。

它可用於相關選項集字段鏈。由於每個相關選項集字段選項都根據另一個字段的值進行篩選,因此可通過在第一個相關選項集字段中選擇的選項來篩選其他選項集字段選項。這樣便可用於一組在層次結構上相關的選項集字段。

相關選項的篩選在 XML Web 資源中設置。這樣便可更改選項映射,無需更改代碼。編輯 XML Web 資源對於配置選項且很少會破壞代碼的非開發人員而言更爲容易。

該解決方案支持多種語言。篩選僅基於選項的數據值,而不是選項中的任何文本。

篩選適用於窗體上任意數量的屬性控件實例。
示例:
本節介紹此方法的應用以及應用示例庫的過程。
account(客戶)實體窗體有三個選項集字段以及允許對客戶分類的選項。下表顯示選項集選項的值和標籤。

啓用篩選
將所需的選項篩選轉換爲以下 XML 文檔並將其作爲標題爲 new_AccountDependentOptionSetConfig.xml 的 XML Web 資源上載。 包括標籤值是爲了使文檔更易於編輯,但標籤值不用在篩選選項的腳本中。

源碼見附件

使用以下代碼創建一個名爲 new_SDK.DependentOptionSetSample.js JScript Web 資源。

Jscript代碼如下:

源碼見附件

將該 new_SDK.DependentOptionSetSample.js 腳本 Web 資源添加到可供窗體使用的 JScript 庫中。
進入“設置”-》“自定義”-》“自定義項”-》“自定義系統”
選擇“公司(客戶)”實體,展開至窗體,雙擊信息(主要)

點擊工具欄中的“窗體屬性”彈出“窗體屬性”對話框
將該 new_SDK.DependentOptionSetSample.js 腳本 Web 資源添加到窗體使用的 JScript 庫(窗體庫)中。

在窗體的 Onload 事件中,配置事件處理程序,以調用 SDK.DependentOptionSet.init 函數並將 XML Web 資源的名稱作爲參數來傳入。使用“處理程序屬性”對話框中的字段:將 "new_AccountDependentOptionSetConfig.xml" 輸入字段“將傳遞給函數的以逗號分隔的參數列表”中。

點擊確定後,返回窗體設計界面,雙擊“類別”字段,在彈出的字段屬性對話框中選擇事件選項卡,

在“類別”字段的 OnChange 事件中,添加“函數”設置爲 SDK.DependentOptionSet.filterDependentField

在“將傳遞給函數的以逗號分隔的參數列表”文本框中,輸入:"new_category", "new_subcategory".

 

同樣,在“子類別”字段的 OnChange 事件中,添加“函數”設置爲 SDK.DependentOptionSet.filterDependentField。
在“將傳遞給函數的以逗號分隔的參數列表”文本框中,輸入:"new_subcategory ", "new_type".

保存併發布所有自定義設置。

當您打開公司(客戶)實體窗體時,您會發現“子類別”和“類型”選項根據爲其各自選項集選擇的值進行篩選。
本文爲已修改過的,原文地址爲:
http://msdn.microsoft.com/zh-cn/library/gg594433.aspx

歡迎同行友人與人進行技術交流,本人QQ:906753030 信陽農夫
另外給大家提示兩個常用資料:
CRM2011KitUpdated.exe    
Dynamics CRM 2011開發人員培訓工具包
http://www.microsoft.com/download/en/details.aspx?id=23416
This training kit is for .NET developers to learn the development features of Dynamics CRM and help them build applications using Microsoft Dynamics CRM 2011 and CRM Online.

===========================================================
MicrosoftDynamicsCRM2011SDK.exe
Microsoft Dynamics CRM 2011 軟件開發工具包 (SDK)
http://www.microsoft.com/downloads/zh-cn/details.aspx?familyid=420f0f05-c226-4194-b7e1-f23ceaa83b69&displaylang=zh-cn




 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章