TreeView DataWindow設計(二)
看過 上一篇 的簡單說明後,現在就進行實作了 範例程式 。 ※TreeView DataWindow名稱過長,文中會使用TVDW(大寫)來代表其意義。 ※DataWindow簡稱DW(大寫) ※DataStore簡稱DS(大寫) (一)先來看看程式主畫面: 這 個畫面的左半邊是展示用的資料,我這邊的展示設定是某家傳直銷的組織圖,因為這樣的組織圖很容易用來表現樹狀結構的特性,如果你不知道傳直銷組織的話,問 一下親朋好友應該會有人解釋得很好(?)吧,傳直銷的組織特性就像是樹狀結構圖,基本上分為上線(通常是推薦人)以及下線(通常是所屬會員或是組織成 員);上線如同父節點(Parent),下線如同子項目(Child),所以如果能理解的話應該不難理解畫面左邊的列表意思。 現在的目的就是要如何把這樣的條列資料展現成樹狀組織圖,以供列表或是操作了。 主畫面的右半上方是TVDW的產生示範功能,右半下方則是TVDW本身了。 [產生] :用來產生TVDW的樹狀組織圖,資料來源則是依據主畫面左半邊的資料。 [停止] :由於資料多達300多筆,產生會消耗許多時間,如果想中途停止,只要按這個按鈕就好了。 [刪除] :當你選擇了某個項目節點後,按下此鈕,會將該項目連同下屬所有子項目一並全數刪除。 [預覽列印] :列印時的畫面預覽,用來檢視畫面是否超出紙張定義。 [內部資料檢視] :這算是特殊的功能了,上一篇有提到這個TVDW有個DS在儲存實際樹狀資料屬性,理論上使用者 不需要也不可以 直接檢視或修改該DS內容,這僅是提供程式設計師debug以及理論驗證的用途罷了。 [全部展開] :這個是以最基本的根項目(Root)為展開的動作,展開時各節點全部展開(註一)。 [全部收合] :這個是以最基本的根項目(Root)為收合的動作,收合時各節點全部收合(註一)。 [選擇子項全開] :以選擇的項目下屬項目節點全部展開,展開時各節點全部展開(註一)。 [選擇子項全收] :以選擇的項目下屬項目節點全部收合,收合時各節點全部收合(註一)。 [細部設定變更] :在TVDW產生時會依照某些特性設定值作為基本依據,如果需要更改某些特別屬性可以變更下列屬性質,以達所需要效果,其數值單位為PowerBuilder Unit,特別要注意的是屬性設定必須在TVDW"產生"畫面前進行設定,否則無效: 起始X...