VARCHART XGantt_v5.1用戶手冊:如何提供數據(.NET版)
VARCHART XGantt是一個交互式的甘特圖控件,其模塊化的設計讓您可以創建滿足您和您的客戶所需求的應用程序。(我們領先的甘特圖控件VARCHART XGantt可用于.NET,ActiveX和ASP.NET應用程序。)使用VARCHART XGantt,您便具有一個可以生成清晰、靈活的甘特圖的健壯開發工具。這篇文章主要介紹VARCHART XGantt的用戶手冊(是.NET版哦),如何提供數據,跟著小編來看一看吧~
對于要顯示的活動和鏈接,VARCHART XGantt需要提供數據。默認情況下,對于相關的通信使用兩個表:
1. NodeTable(也稱為Maindata)
2. LinkTable(也稱為關系)
在表單中放置VARCHART XGantt時,已經提前提供了基本字段。
Maindata數據表的字段:
關系字段數據表:
需要手動定義所需的其他字段。您可以在設計時通過對話框管理數據表(下部)或在運行時通過對象VcDataTableFieldCollection的Add(...)方法執行此操作。
如果您需要的表格多于默認情況下定義的表格,則可以在單擊常規屬性頁面啟用的擴展數據表后,在對話框管理數據表的上部創建表格。
VcDataRecordCollection的DataRecordByID()方法允許通過主鍵快速查找對象。
為了使活動和鏈接在入門示例中可見,您需要首先在數據表中輸入一些記錄。
這可以通過使用對象類型VcDataRecordCollection的Add(...)方法來完成。EndLoading方法完成了相應圖表的數據輸入。為此,請在表單的加載事件中輸入以下代碼行。
示例代碼VB.NET
Dim dataTable As VcDataTable Dim dataRecCltn As VcDataRecordCollection VcGantt1.ExtendedDataTablesEnabled = True dataTable = VcGantt1.DataTableCollection.DataTableByName("Maindata") dataRecCltn = dataTable.DataRecordCollection dataRecCltn.Add("1;Node 1;07.05.2010;;5") dataRecCltn.Add("2;Node 2;14.05.2010;;5") dataRecCltn.Add("3;Node 3;21.05.2010;;5") dataTable = VcGantt1.DataTableCollection.DataTableByName("Relations") dataRecCltn = dataTable.DataRecordCollection dataRecCltn.Add("1;1;2") dataRecCltn.Add("2;2;3") VcGantt1.EndLoading
示例代碼C#
vcGantt1.ExtendedDataTablesEnabled = true; VcDataTable dataTable = vcGantt1.DataTableCollection.DataTableByName("Maindata"); VcDataRecordCollection dataRecCltn = dataTable.DataRecordCollection; dataRecCltn.Add("1;Node 1;07.05.2010;;5"); dataRecCltn.Add("2;Node 2;14.05.2010;;5"); dataRecCltn.Add("3;Node 3;21.05.2010;;5"); dataTable = vcGantt1.DataTableCollection.DataTableByName("Relations"); dataRecCltn = dataTable.DataRecordCollection; dataRecCltn.Add("1;1;2"); dataRecCltn.Add("2;2;3"); vcGantt1.EndLoading;
記錄中的值由分號分隔。字段的順序必須與數據定義中字段的順序相對應。新記錄必須具有明確的非空標識。記錄中的日期必須與數據定義表中的DateFormat定義相對應。持續時間的解釋取決于時間單位的設置。它預先設置為days,您可以在常規屬性頁面上修改它們。
對于表和常規屬性頁上的每個對話框,一致地定義Date輸出格式。
從CSV文件加載數據
或者,您也可以從CSV文件加載數據。文件的結構必須符合以下方案:
示例代碼
1;Node 1;07.05.2010;;5; 2;Node 2;14.05.2010;;5; 3;Node 3;21.05.2010;;5; **** 1;1;2; 2;2;3;
每條記錄都有自己的行。行的內容對應于對象類型VcDataRecordCollection的Add(...)方法傳遞的參數。
首先列出Maindata數據表的記錄,然后列出Relation數據表的記錄。使用****表名****標記記錄組的開頭。
如果您保存此類文件,例如名稱為intro.csv,則可以按如下方式導入數據:
示例代碼VB.NET
VcGantt1.Open("c:\intro.csv")
示例代碼C#
vcGantt1.Open(@"c:\intro.csv");
指定表示的時間段
到目前為止,您將看不到任何活動,因為時間尺度尚未調整到相應的時間段。時間刻度的顯示范圍可以通過屬性TimeScaleStart和TimeScaleEnd定義,或者通過對象VcGantt的OptimizeTimeScaleStartEnd(...)方法從數據確定。
示例代碼VB.NET
VcGantt1.TimeScaleEnd = New DateTime(2011, 1, 1) VcGantt1.TimeScaleStart = New DateTime(2010, 5, 4)
示例代碼C#
vcGantt1.TimeScaleEnd = new DateTime(2011,1,1); vcGantt1.TimeScaleStart =new DateTime(2010,5,4);
您可以在下面找到我們的入門示例所需的代碼。
示例代碼VB.NET
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load VcGantt1.Width = ClientSize.Width - VcGantt1.Left VcGantt1.Height = ClientSize.Height - VcGantt1.Top Dim dataTable As VcDataTable Dim dataRecCltn As VcDataRecordCollection vcGantt1.ExtendedDataTablesEnabled = True dataTable = VcGantt1.DataTableCollection.DataTableByName("Maindata") dataRecCltn = dataTable.DataRecordCollection dataRecCltn.Add("1;Node 1;03.05.2010;;5") dataRecCltn.Add("2;Node 2;08.05.2010;;5") dataRecCltn.Add("3;Node 3;15.05.2010;;5") dataTable = VcGantt1.DataTableCollection.DataTableByName("Relations") dataRecCltn = dataTable.DataRecordCollection dataRecCltn.Add("1;1;2") dataRecCltn.Add("2;2;3") VcGantt1.EndLoading() VcGantt1.OptimizeTimeScaleStartEnd(3) End Sub Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Resize VcGantt1.Width = ClientSize.Width - VcGantt1.Left VcGantt1.Height = ClientSize.Height - VcGantt1.Top End Sub
示例代碼C#
private void Form1_Load(object sender, System.EventArgs e) { vcGantt1.Width = ClientSize.Width - vcGantt1.Left; vcGantt1.Height = ClientSize.Height - vcGantt1.Top; vcGantt1.ExtendedDataTablesEnabled = true; VcDataTable dataTable = vcGantt1.DataTableCollection.DataTableByName("Maindata"); VcDataRecordCollection dataRecCltn = dataTable.DataRecordCollection; dataRecCltn.Add("1;Node 1;03.05.2010;;5"); dataRecCltn.Add("2;Node 2;08.05.2010;;5"); dataRecCltn.Add("3;Node 3;15.05.2010;;5"); dataTable = vcGantt1.DataTableCollection.DataTableByName("Relations"); dataRecCltn = dataTable.DataRecordCollection; dataRecCltn.Add("1;1;2"); dataRecCltn.Add("2;2;3"); vcGantt1.EndLoading(); vcGantt1.OptimizeTimeScaleStartEnd(3); } private void Form1_Resize(object sender, System.EventArgs e) { vcGantt1.Width = ClientSize.Width - vcGantt1.Left; vcGantt1.Height = ClientSize.Height - vcGantt1.Top; }
如果您現在運行該程序,結果應如下圖所示。
想要購買VARCHART XGantt正版授權,或了解更多產品信息請點擊