VARCHART XGantt_v5.1用戶手冊(cè):如何提供數(shù)據(jù)(.NET版)
VARCHART XGantt是一個(gè)交互式的甘特圖控件,其模塊化的設(shè)計(jì)讓您可以創(chuàng)建滿足您和您的客戶所需求的應(yīng)用程序。(我們領(lǐng)先的甘特圖控件VARCHART XGantt可用于.NET,ActiveX和ASP.NET應(yīng)用程序。)使用VARCHART XGantt,您便具有一個(gè)可以生成清晰、靈活的甘特圖的健壯開(kāi)發(fā)工具。這篇文章主要介紹VARCHART XGantt的用戶手冊(cè)(是.NET版哦),如何提供數(shù)據(jù),跟著小編來(lái)看一看吧~
點(diǎn)擊下載VARCHART XGantt免費(fèi)版
對(duì)于要顯示的活動(dòng)和鏈接,VARCHART XGantt需要提供數(shù)據(jù)。默認(rèn)情況下,對(duì)于相關(guān)的通信使用兩個(gè)表:
1. NodeTable(也稱為Maindata)
2. LinkTable(也稱為關(guān)系)
在表單中放置VARCHART XGantt時(shí),已經(jīng)提前提供了基本字段。
Maindata數(shù)據(jù)表的字段:
關(guān)系字段數(shù)據(jù)表:
需要手動(dòng)定義所需的其他字段。您可以在設(shè)計(jì)時(shí)通過(guò)對(duì)話框管理數(shù)據(jù)表(下部)或在運(yùn)行時(shí)通過(guò)對(duì)象VcDataTableFieldCollection的Add(...)方法執(zhí)行此操作。
如果您需要的表格多于默認(rèn)情況下定義的表格,則可以在單擊常規(guī)屬性頁(yè)面啟用的擴(kuò)展數(shù)據(jù)表后,在對(duì)話框管理數(shù)據(jù)表的上部創(chuàng)建表格。
VcDataRecordCollection的DataRecordByID()方法允許通過(guò)主鍵快速查找對(duì)象。
為了使活動(dòng)和鏈接在入門(mén)示例中可見(jiàn),您需要首先在數(shù)據(jù)表中輸入一些記錄。
這可以通過(guò)使用對(duì)象類型VcDataRecordCollection的Add(...)方法來(lái)完成。EndLoading方法完成了相應(yīng)圖表的數(shù)據(jù)輸入。為此,請(qǐng)?jiān)诒韱蔚?strong>加載事件中輸入以下代碼行。
示例代碼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;
記錄中的值由分號(hào)分隔。字段的順序必須與數(shù)據(jù)定義中字段的順序相對(duì)應(yīng)。新記錄必須具有明確的非空標(biāo)識(shí)。記錄中的日期必須與數(shù)據(jù)定義表中的DateFormat定義相對(duì)應(yīng)。持續(xù)時(shí)間的解釋取決于時(shí)間單位的設(shè)置。它預(yù)先設(shè)置為days,您可以在常規(guī)屬性頁(yè)面上修改它們。
對(duì)于表和常規(guī)屬性頁(yè)上的每個(gè)對(duì)話框,一致地定義Date輸出格式。
從CSV文件加載數(shù)據(jù)
或者,您也可以從CSV文件加載數(shù)據(jù)。文件的結(jié)構(gòu)必須符合以下方案:
示例代碼
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;
每條記錄都有自己的行。行的內(nèi)容對(duì)應(yīng)于對(duì)象類型VcDataRecordCollection的Add(...)方法傳遞的參數(shù)。
首先列出Maindata數(shù)據(jù)表的記錄,然后列出Relation數(shù)據(jù)表的記錄。使用****表名****標(biāo)記記錄組的開(kāi)頭。
如果您保存此類文件,例如名稱為intro.csv,則可以按如下方式導(dǎo)入數(shù)據(jù):
示例代碼VB.NET
VcGantt1.Open("c:\intro.csv")
示例代碼C#
vcGantt1.Open(@"c:\intro.csv");
指定表示的時(shí)間段
到目前為止,您將看不到任何活動(dòng),因?yàn)闀r(shí)間尺度尚未調(diào)整到相應(yīng)的時(shí)間段。時(shí)間刻度的顯示范圍可以通過(guò)屬性TimeScaleStart和TimeScaleEnd定義,或者通過(guò)對(duì)象VcGantt的OptimizeTimeScaleStartEnd(...)方法從數(shù)據(jù)確定。
示例代碼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);
您可以在下面找到我們的入門(mén)示例所需的代碼。
示例代碼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; }
如果您現(xiàn)在運(yùn)行該程序,結(jié)果應(yīng)如下圖所示。
想要購(gòu)買(mǎi)VARCHART XGantt正版授權(quán),或了解更多產(chǎn)品信息請(qǐng)點(diǎn)擊“咨詢?cè)诰€客服”