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

VARCHART XGantt是一个交互式的甘特图控件,其模块化的设计让您可以创建满足您和您的客户所需求的应用程序。VARCHART XGantt可以快速、简单地集成到您的应用程序中,帮助您识别性能瓶颈、避免延迟以及高效利用资源,使复杂数据变得更加容易理解。本篇文章主要介绍VARCHART XGantt用户手册中的如何提供数据(针对ActiveX版),这个版本与.NET版本最大的区别就是代码不同,现在就跟着小编来看一下吧~

点击下载VARCHART XGantt免费版

为了显示活动和链接,需要为VARCHART XGantt提供数据。默认情况下,所需的通信由两个表实现:

1. Maindata

2.关系

通过加载数据文件samples.ini,表格由以下数据填充:

Maindata表的字段:

QQ截图20190801160645.png

关系领域:

QQ截图20190801160654.png

此外,必须手动定义所需字段。您可以在设计时通过对话框编辑数据表,或在运行时通过对象VcDataTableFieldCollectionAdd(...)方法执行此操作。

如果您需要的表格多于默认定义的两个表格,则可以在属性页面上创建它们,单击常规属性页面上启用的扩展数据表后,在属性页面上管理数据表。您可以在对话框编辑数据表中创建(或编辑)新表所需的字段。

QQ截图20190801160828.png

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

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

这可以通过使用对象类型VcDataRecordCollectionAdd(...)方法来完成。方法EndLoading完成了相应图表的数据输入。为此,请在表单的Load事件中输入以下代码行。

示例代码

Set dataTable = VcGantt1.DataTableCollection.DataTableByName("Maindata")
Set dataRecCltn = dataTable.DataRecordCollection
dataRecCltn.Add "1;Node 1;07.05.2007;;5"
dataRecCltn.Add "2;Node 2;14.05.2007;;5"
dataRecCltn.Add "3;Node 3;21.05.2007;;5" 
Set dataTable =
VcGantt1.DataTableCollection.DataTableByName("Relations")
Set dataRecCltn = dataTable.DataRecordCollection
dataRecCltn.Add "1;1;2"
dataRecCltn.Add "2;2;3"
VcGantt1.EndLoading

记录中的值由分号分隔。字段的顺序必须与数据定义中字段的顺序相对应。新记录必须具有明确的非空标识。记录中的日期必须与数据定义表中的DateFormat定义相对应。持续时间的解释取决于时间单位,并在常规属性页面上预设为Days

对于表和常规属性页上的每个对话框,一致定义Date输出格式

QQ截图20190801160847.png

从CSV文件加载数据

或者,您也可以从所谓的CSV文件加载数据。文件的结构必须符合以下方案:

示例代码

1;Node 1;07.05.2007;;5
2;Node 2;14.05.2007;;5
3;Node 3;21.05.2007;;5
****
1;1;2
2;2;3

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

首先列出Maindata的记录,然后列出关系记录。使用****表名****以标记每个记录组的开头。

如果您在intro.csv下保存了这样的文件,您可以按如下方式导入数据:

示例代码

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

指定表示的时间段

到目前为止,活动仍然是不可见的,因为时间尺度尚未适应节点所处的时间段。要显示的时间范围的可以由属性TimeScaleStartTimeScaleEnd定义,也可以通过对象VcGanttOptimizeTimeScaleStartEnd(...)方法从数据中确定。

示例代码

 VcGantt1.TimeScaleEnd = DateSerial(2008, 1, 1)
 VcGantt1.TimeScaleStart = DateSerial(2007, 5, 4)

下面列出了我们的入门示例所需的代码行。

示例代码

Private Sub Form_Load()
 VcGantt1.Width = ScaleWidth - VcGantt1.Left
 VcGantt1.Height = ScaleHeight - VcGantt1.Top

Set dataTable = VcGantt1.DataTableCollection.DataTableByName("Maindata")
Set dataRecCltn = dataTable.DataRecordCollection
dataRecCltn.Add "1;Node 1;07.05.2007;;5
dataRecCltn.Add "2;Node 2;14.05.2007;;5"
dataRecCltn.Add "3;Node 3;21.05.2007;;5"
Set dataTable =
VcGantt1.DataTableCollection.DataTableByName("Relations")
Set dataRecCltn = dataTable.DataRecordCollection
dataRecCltn.Add "1;1;2"
dataRecCltn.Add "2;2;3"
 VcGantt1.EndLoading

 VcGantt1.OptimizeTimeScaleStartEnd (3)
End Sub
Private Sub Form_Resize()
 VcGantt1.Width = ScaleWidth - VcGantt1.Left
 VcGantt1.Height = ScaleHeight - VcGantt1.Top
End Sub

如果您现在运行该程序,结果对应一下图片。

QQ截图20190801160916.png

转载于:https://my.oschina.net/u/4164993/blog/3082313

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值