1. 程式人生 > >Aras學習筆記(16)- Aras官方專案Tree Grid View Sample原理介紹

Aras學習筆記(16)- Aras官方專案Tree Grid View Sample原理介紹

官方專案Tree Grid View Sample是以PackageDefinition為例實現的,介紹原理前先說明下PackageDefinition的組成結構。

 

PackageDefinition結構分為PackageDefinition、PackageGroup和PackageElement三個部分組成。

PackageDefinition為Package的基本屬性。

PackageGroup指元素類別或分組,比如ItemType、Form、Relationship及Item等,相同類別的元素都存放在一起。

PackageElement指具體元素,比如具體ItemType Item、Method、資料等。

 

通過用Export工具匯出後會生成PackageDefinition目錄結構及.mf檔案,最終都是以AML格式的XML檔案儲存。

 

接下來再回到Tree Grid View Sample的話題上。它的實現方式很類似Reporting Service及SAP的Query(Tcode-SQ01/02/03)。第一步先建立資料集(Query Definition),第二步設定顯示格式(Tree Grid View) ,最後實施到具體ItemType中。生成後的效果就是給ItemType增加一個Relationship,並將資料以樹的方式展現出來。 在此之中最重要的還是查詢各個ItemType間的關聯關係(Relationship),開始操作前心中先有個大致的框架。

 

大致作步驟如下。

1、首先建立PackageDefinition包,將相應的元素新增到Package中。(具體操作步驟見另外一篇文章) 。TGV建立的包結構如下。

 

2、建立Query Definition,將內容目標(Item Type)指向到PackageDefinition。

 

圖中1建立關聯關係,2設定排序欄位,3設定過濾條件,4選擇顯示列欄位。

3、建立Tree Grid View, 設定基本資訊。圖中1選擇建立好的Query Package Definition,2表示最多可展開的層數、3設定Grow每次展開的層數。

 

4、格式設定。圖中1雙擊某一個列選定顯示內容,2設定過濾條件,3右鍵新增新列。

 

5、將Tree Grid View應用到Item Type中。點選選單Action –> Set Tree Grid View Usage出現使用方式選擇。

 

Relationship Tab表示會給ItemType增加一個Relationship的Tab,JavaScript Method選項會生成一個Client Side方法,用於外部呼叫或event事件。

6、New表示新建,Existing表示對現有設定進行更新。

 

7、指定Relationship的名字,Label為新增Tab標籤的名字。Access Identity為可訪問的角色,對所有人開發選擇world。

 

8、Define Starting Conditions為定義第一行的顯示內容。正常顯示當前記錄,預設值就可。

在我另外做的例子中,資料是Department,即所有部門結構,Property屬性ParentId表示上下級關係。可以通過設定Starting Conditions來確定第一行顯示什麼內容。

 

 

9、設定完成後檢視Tree Grid View生成效果。圖中1,2,3表示Package Definition、Package Group和Package Element。