VARCHART XGantt_v5.1用户手册:如何提供数据(ActiveX版)
VARCHART XGantt是一个交互式的甘特图控件,其模块化的设计让您可以创建满足您和您的客户所需求的应用程序。VARCHART XGantt可以快速、简单地集成到您的应用程序中,帮助您识别性能瓶颈、避免延迟以及高效利用资源,使复杂数据变得更加容易理解。本篇文章主要介绍VARCHART XGantt用户手册中的如何提供数据(针对ActiveX版),这个版本与.NET版本最大的区别就是代码不同,现在就跟着小编来看一下吧~
为了显示活动和链接,需要为VARCHART XGantt提供数据。默认情况下,所需的通信由两个表实现:
1. Maindata
2.关系
通过加载数据文件samples.ini,表格由以下数据填充:
Maindata表的字段:
关系领域:
此外,必须手动定义所需字段。您可以在设计时通过对话框编辑数据表,或在运行时通过对象VcDataTableFieldCollection的Add(...)方法执行此操作。
如果您需要的表格多于默认定义的两个表格,则可以在属性页面上创建它们,单击常规属性页面上启用的扩展数据表后,在属性页面上管理数据表。您可以在对话框编辑数据表中创建(或编辑)新表所需的字段。
VcDataRecordCollection的DataRecordByID()方法允许通过主键快速查找对象。
为了使我们的入门示例中的活动和链接可见,您需要首先在数据表中输入一些记录。
这可以通过使用对象类型VcDataRecordCollection的Add(...)方法来完成。方法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输出格式。
从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
每条记录都有自己的路线。行的内容对应于对象类型VcDataRecordCollection的Add(...)方法的传递参数。
首先列出Maindata的记录,然后列出关系记录。使用****表名****以标记每个记录组的开头。
如果您在intro.csv下保存了这样的文件,您可以按如下方式导入数据:
示例代码
VcGantt1.Open("c:\intro.csv")
指定表示的时间段
到目前为止,活动仍然是不可见的,因为时间尺度尚未适应节点所处的时间段。要显示的时间范围的可以由属性TimeScaleStart和TimeScaleEnd定义,也可以通过对象VcGantt的OptimizeTimeScaleStartEnd(...)方法从数据中确定。
示例代码
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
如果您现在运行该程序,结果对应一下图片。
想要购买VARCHART XGantt正版授权,或了解更多产品信息请点击