VARCHART XGantt_v5.1用户手册:如何提供数据(.NET版)

VARCHART XGantt是一个交互式的甘特图控件,其模块化的设计让您可以创建满足您和您的客户所需求的应用程序。(我们领先的甘特图控件VARCHART XGantt可用于.NET,ActiveX和ASP.NET应用程序。)使用VARCHART XGantt,您便具有一个可以生成清晰、灵活的甘特图的健壮开发工具。这篇文章主要介绍VARCHART XGantt的用户手册(是.NET版哦),如何提供数据,跟着小编来看一看吧~

点击下载VARCHART XGantt免费版

对于要显示的活动和链接,VARCHART XGantt需要提供数据。默认情况下,对于相关的通信使用两个表:

1. NodeTable(也称为Maindata)

2. LinkTable(也称为关系)

在表单中放置VARCHART XGantt时,已经提前提供了基本字段。

Maindata数据表的字段:

QQ截图20190801140003.png

关系字段数据表:

QQ截图20190801140037.png

需要手动定义所需的其他字段。您可以在设计时通过对话框管理数据表(下部)或在运行时通过对象VcDataTableFieldCollectionAdd(...)方法执行此操作。

如果您需要的表格多于默认情况下定义的表格,则可以在单击常规属性页面启用的扩展数据表后,在对话框管理数据表的上部创建表格。

QQ截图20190801140052.png

VcDataRecordCollectionDataRecordByID()方法允许通过主键快速查找对象。

为了使活动和链接在入门示例中可见,您需要首先在数据表中输入一些记录。

这可以通过使用对象类型VcDataRecordCollectionAdd(...)方法来完成。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输出格式

QQ截图20190801140111.png

从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;

每条记录都有自己的行。行的内容对应于对象类型VcDataRecordCollectionAdd(...)方法传递的参数。

首先列出Maindata数据表的记录,然后列出Relation数据表的记录。使用****表名****标记记录组的开头。

如果您保存此类文件,例如名称为intro.csv,则可以按如下方式导入数据:

示例代码VB.NET

VcGantt1.Open("c:\intro.csv")

示例代码C#

vcGantt1.Open(@"c:\intro.csv");

指定表示的时间段

到目前为止,您将看不到任何活动,因为时间尺度尚未调整到相应的时间段。时间刻度的显示范围可以通过属性TimeScaleStartTimeScaleEnd定义,或者通过对象VcGanttOptimizeTimeScaleStartEnd(...)方法从数据确定。

示例代码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;
}

如果您现在运行该程序,结果应如下图所示。

QQ截图20190801140142.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值