VARCHART XGantt用戶手冊:數(shù)據(jù)表——處理數(shù)據(jù)表(.NET版)
VARCHART XGantt是一個交互式的甘特圖控件,其模塊化的設計讓您可以創(chuàng)建滿足您和您的客戶所需求的應用程序。(我們領先的甘特圖控件VARCHART XGantt可用于.NET,ActiveX和ASP.NET應用程序。)除此之外,同時還具有一個穩(wěn)定可靠的甘特圖工具,在編寫第一行代碼之前,您就可以知道是否可以滿足客戶的需求。本文主要描述甘特圖數(shù)據(jù)表教程中的處理數(shù)據(jù)表!
VARCHART XGantt最初使用兩個用于節(jié)點和鏈接的標準數(shù)據(jù)表作為甘特圖的圖形顯示的數(shù)據(jù)庫,可以分別定義其字段。在4.0版中,此概念得到了擴展。最多可以定義90個數(shù)據(jù)表,并且可以在表之間建立1:n關系。在許多情況下,這有助于避免冗余;它允許通過從屬數(shù)據(jù)記錄訪問主數(shù)據(jù)記錄,并提供VARCHART XGantt中集成的資源調度模塊所需的數(shù)據(jù)。
由于與現(xiàn)有應用程序兼容的原因,VARCHART XGantt繼續(xù)在以前的模式下運行。只有在設計時或運行時激活相應的選項,才能使用擴展數(shù)據(jù)表。您可以在屬性頁“常規(guī)”上找到啟用了“擴展數(shù)據(jù)表”選項。
在編程界面中,通過將VcGantt屬性ExtendendDataTablesEnabled設置為True,可以在運行時打開擴展數(shù)據(jù)表。
處理數(shù)據(jù)表
默認情況下,存在數(shù)據(jù)表Maindata和Relations。在屬性頁面對象上,您可以單擊“數(shù)據(jù)表”按鈕以進入對話框“管理數(shù)據(jù)表”。生成新數(shù)據(jù)表之前需要先打開擴展數(shù)據(jù)表模式。下圖中的數(shù)據(jù)表“任務和操作”是通過在“數(shù)據(jù)表”部分中單擊創(chuàng)建的。
在“數(shù)據(jù)表字段”部分中,您可以編輯上面所選表的字段。您可以通過創(chuàng)建新字段,通過
刪除現(xiàn)有字段或通過
復制字段,如下所示。
使用API時,索引列是必不可少的,因為數(shù)據(jù)字段的內容只能通過索引進行尋址。如果在此對話框中修改了字段的順序(即索引),則在生成了編程代碼后,您需要調整訪問相應字段的編程代碼。
如果修改數(shù)據(jù)類型,則可能必須相應地調整已經(jīng)定義的格式和圖層,以確保在訪問字段時使用適當?shù)臄?shù)據(jù)類型。
如果您希望數(shù)據(jù)記錄是唯一的并因此可區(qū)分的,則將主鍵功能設置為一個字段。主鍵也可以包含更多字段,但最多三個。
對于關系引用的數(shù)據(jù)表,必須選擇一個字段作為主鍵。
如果內容顯示為1:n關系并且從屬數(shù)據(jù)記錄應直接引用主數(shù)據(jù)記錄的數(shù)據(jù)字段,那么關聯(lián)表很有用。
目前在兩個表A和B之間只能建立一個1:n關系。B的第二字段不允許與A的主鍵相關。不過,第三表C的字段允許與A的主鍵相關。
注意:如果在關系中使用了具有復合主鍵的數(shù)據(jù)表,則該關系必須匹配主鍵。否則,不可能建立唯一的連接。如果關系定義不正確,在API或“管理數(shù)據(jù)表”對話框中均未選中該關系,則不會連接數(shù)據(jù)記錄。這將導致事件VcDataRecordNotFound。
在下面的示例中,通過在“關系”列中設置Task:ID,在表Operation和Task之間創(chuàng)建一個關系。
表任務:
表操作:
示例代碼VB.NET
Dim dataTableCltn As VcDataTableCollection Dim dataTable As VcDataTable dataTableCltn = VcGantt1.DataTableCollection dataTable = dataTableCltn.DataTableByName("Task") dataTable.DataRecordCollection.Add("1;Task 1;10;12.05.2013;20.05.2013") dataTable.DataRecordCollection.Add("2;Task 2;10;01.06.2013;15.06.2013") dataTable = dataTableCltn.DataTableByName("Operation") dataTable.DataRecordCollection.Add("1;1;Operation 1;12.05.2013;14.05.2013") dataTable.DataRecordCollection.Add("2;1;Operation 2;15.05.2013;19.05.2013") dataTable.DataRecordCollection.Add("3;2;Operation 3;01.06.2013;05.06.2013") dataTable.DataRecordCollection.Add("4;2;Operation 4;05.06.2013;11.06.2013") dataTable.DataRecordCollection.Add("5;2;Operation 5;11.06.2013;15.06.2013") VcGantt1.EndLoading()
示例代碼C#
VcDataTableCollection dataTableCltn = vcGantt1.DataTableCollection; VcDataTable dataTable = dataTableCltn.DataTableByName("Task"); dataTable.DataRecordCollection.Add("1;Task 1;10;12.05.2013;20.05.2013"); dataTable.DataRecordCollection.Add("2;Task 2;10;01.06.2013;15.06.2013"); dataTable = dataTableCltn.DataTableByName("Operation"); dataTable.DataRecordCollection.Add("1;1;Operation 1;12.05.2013;14.05.2013"); dataTable.DataRecordCollection.Add("2;1;Operation 2;15.05.2013;19.05.2013"); dataTable.DataRecordCollection.Add("3;2;Operation 3;01.06.2013;05.06.2013"); dataTable.DataRecordCollection.Add("4;2;Operation 4;05.06.2013;11.06.2013"); dataTable.DataRecordCollection.Add("5;2;Operation 5;11.06.2013;15.06.2013"); vcGantt1.EndLoading();
根據(jù)屬性表中“數(shù)據(jù)表和字段”部分中“節(jié)點”上選擇的數(shù)據(jù)表,節(jié)點的圖形顯示可能源自不同的基礎。交互式創(chuàng)建節(jié)點時,基礎是自動向其添加新數(shù)據(jù)記錄的表。可視化顯示的相應行受活動節(jié)點過濾器,分組和顯示選項的影響。
如果將“操作”表作為基礎,則這是甘特圖的表中的結果。描述、數(shù)量和到期日期的條目源自主表任務。
如果使用“任務”而不是“操作”表,則XGantt中的可見表將僅包含兩個條目。
在VARCHART XGantt 4.0版中,可以使用新的對象類型來代替以前的對象類型。出于兼容性的原因,以前的對象類型已保留在當前版本中。在新應用程序和現(xiàn)有應用程序的更新中,僅應使用新對象。
甘特圖數(shù)據(jù)表教程內容尚未完結,敬請期待后續(xù)的“創(chuàng)建和修改數(shù)據(jù)記錄”~喜歡的朋友可以下載VARCHART XGantt最新版哦~
相關內容推薦:
想要購買VARCHART XGantt正版授權,或了解更多產(chǎn)品信息請點擊