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正版授权,或了解更多产品信息请点击