甘特图(Xgantt)从1998年的第一个商用版本开始就致力于计划编制和项目管理方面控件的研究和开发,经过20多年的积累和沉淀,目前可为软件开发商和最终用户提供最顶级的计划编制和项目管理的控件产品,帮助用户快速的整合项目管理软件所需的甘特图,网络图,资源柱状图,日程日历,资源调度等功能模块,并提供全方位的支持和服务。

VARCHART XGantt是一款功能强大的甘特图控件,其模块化的设计让您可以创建满足需要的应用程序。XGantt可用于.NET,ActiveX和ASP.NET应用程序,可以快速、简单地集成到您的应用程序中,帮助您识别性能瓶颈、避免延迟以及高效利用资源,使复杂数据变得更加容易理解。

与时间和资源相关的计划数据,例如工作,任务,订单,活动和能力,最好在甘特图中显示。

在智能甘特图中,计划者可以随时采取纠正措施。

加速您的开发并创建引人注目的、易于使用的可视化调度体验。VARCHART XGantt在市场上已有近30年的历史,它提供了最完善的C#Gantt图表控件,可用于构建现代而又可靠的行业资源调度应用程序。

点击下载VARCHART XGantt正式版

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

  1. NodeTable(也称为Maindata)
  2. 链接表(LinkTable)(也称为关系)

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

Maindata数据表的字段:

甘特图如何为活动和链接提供数据_python

关系数据表的字段:

甘特图如何为活动和链接提供数据_python_02

所需的其他字段需要手动定义。您可以在设计时通过对话框管理数据表(下面部分)来实现这一点,也可以在运行时通过对象VcDataTableFieldCollection的方法Add(…)来实现这一点。

如果需要比默认定义的表更多的表,可以在单击属性页General上启用的扩展数据表之后,在“管理数据表”对话框的上部部分创建它们。

甘特图如何为活动和链接提供数据_人工智能_03

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定义相对应。对持续时间的解释取决于时间单位的设置。它被预先设置为天,你可以在一般属性页面上修改。

对于表格和通用属性页上的每个对话框,日期输出格式的定义一致。

甘特图如何为活动和链接提供数据_python_04

从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;
每个记录都有自己的行。这些行的内容对应于对象类型的方法Add(…)传递的参数
VcDataRecordCollection。
首先列出Maindata数据表的记录,然后列出关系数据表的记录。使用表名****来标记记录组的开始。

例如,如果您以intro的名称保存这类文件。csv,你可以导入数据如下:
示例代码VB.NET
VcGantt1.Open(“c:\intro.csv”)
Example Code C#
vcGantt1.Open(@“c:\intro.csv”);
指定所表示的时间段
到目前为止,您将看不到任何活动,因为时间尺度还没有调整到相应的时期。时间尺度的显示范围可以通过属性TimeScaleStart和TimeScaleEnd定义,或者通过对象VcGantt的OptimizeTimeScaleStartEnd(…)方法从数据中确定。
Example Code VB.NET
VcGantt1.TimeScaleEnd = New DateTime(2011, 1, 1)
VcGantt1.TimeScaleStart = New DateTime(2010, 5, 4)
Example Code C#
vcGantt1.TimeScaleEnd = new DateTime(2011,1,1);
vcGantt1.TimeScaleStart =new DateTime(2010,5,4);
下面是我们的初始示例所需要的代码。

Example Code 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
Example Code 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 v5.2用户手册:为活动和链接提供数据
————————————————
APS帮助提升企业生产效率,真正实现生产计划可视化呈现与控制,快速有效响应不同场景的生产计划,提高准时交货能力,提高产能和资源利用率