VARCHART XGantt v5.2用户手册:如何创建和修改数据记录

翻译|使用教程|编辑:杨鹏连|2021-03-19 10:06:11.603|阅读 18 次

概述:VARCHART XGantt是一个交互式甘特图组件,可生成清晰,灵活的甘特图。本文介绍了如何创建和修改数据记录。

# 31款JAVA开发必备控件和工具 #

相关链接:

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

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

VARCHART XGantt在市场上已有近30年的历史,它提供了最完善的C#Gantt图表控件,可用于构建现代而又可靠的行业资源调度应用程序。

点击下载VARCHART XGantt正式版

在定义了数据表字段后,你可以通过API向表中添加数据记录。有两种方式可以将数据记录添加到你的记录中。我们建议通常的做法是定义一个类型为对象的数组,其元素数量与数据表字段的数量相对应。

Example Code VB.NET

Dim dataTable As VcDataTable
Dim dataRecCltn As VcDataRecordCollection
Dim dataRecVal() As Object
Dim dataRec1 As VcDataRecord
Dim dataRec2 As VcDataRecord
dataTable = VcGantt1.DataTableCollection.DataTableByName("Maindata")
dataRecCltn = dataTable.DataRecordCollection
ReDim dataRecVal(dataTable.DataTableFieldCollection.Count)
dataRecVal(Main_ID) = "1"
dataRecVal(Main_Name) = "Node 1"
dataRecVal(Main_Start) = DateSerial(2013, 1, 8)
dataRecVal(Main_Duration) = 8
Example Code C#
VcDataTable dataTable =
vcGantt1.DataTableCollection.DataTableByName("Maindata");
VcDataRecordCollection dataRecCltn = dataTable.DataRecordCollection;
Object [] dataRecVal = new
object[dataTable.DataTableFieldCollection.Count];
VcDataRecord dataRec1;
VcDataRecord dataRec2;
dataRecVal[Main_ID] = "1";
dataRecVal[Main_Name] = "Node 1";
dataRecVal[Main_Start] = "08.01.2013";
dataRecVal[Main_Duration] = 8
一个数据记录可以通过对象DataRecordCollection的方法Add()来添加,对象数组作为参数传递。

示例代码VB.NET

dataRec1 = dataRecCltn.Add(dataRecVal)

示例代码 C#
dataRec1 = dataRecCltn.Add(dataRecVal)

作为第二种方法,你可以使用一个由数据值组成的字符串,并以分号分隔。

示例代码VB.NET

dataRecCltn.Add("2;Node 2;15.01.13;;9")

示例代码 C#

dataRec2.AllData = "2;活动Y;15.01.13;;9"。

如果一个数据值包含一个分号,那么这个字符串必须用双引号括起来。

示例代码VB.NET

dataRec2 = dataRecCltn.Add("2;""节点2;";15.01.13;;9")

示例代码 C#

dataRec2 = dataRecCltn.Add("2;\"节点2;\";15.01.13;;9")

通过使用DataRecordByID()方法,可以通过主键快速找到对数据基础对象的引用。

Example Code VB.NET
dataRec1 = dataRecCltn.DataRecordByID("1")
dataRec2 = dataRecCltn.DataRecordByID("2")

Example Code C#

dataRec1 = dataRecCltn.DataRecordByID(1);
dataRec2 = dataRecCltn.DataRecordByID(2);

通过使用索引属性DataField(),可以很容易地修改数据记录的单个数据字段的内容。为了替换一条记录的所有数据字段内容,你可以使用AllData()这个属性。

Example Code VB.NET

dataRec1.DataField(Main_ID) = 1
dataRec1.DataField(Main_Name) = "Activity X"
dataRec1.DataField(Main_Start) = DateSerial(2013, 1, 4)
dataRec1.DataField(Main_Duration) = 12
dataRec1.Update()
dataRec2.AllData = "2;Activity Y;18.01.13;;5"
dataRec2.Update()
Example Code C#
dataRec1.set_DataField(Main_ID, 1);
dataRec1.set_DataField(Main_Name, "Activity X");
dataRec1.set_DataField(Main_Start, "04.01.2014");
dataRec1.set_DataField(Main_Duration, 12);
dataRec1.Update();

dataRec2.AllData = "2;Activity Y;18.01.14;;5";
dataRec2.Update();
只有在对象DataRecord的方法Update()被调用后,才能显示对记录的修改。

使用Alldata加载值适合在设计时快速显示所有数据值,也适合将数据记录内容转移到不同表的记录中。您也可以使用这种数据格式与OLE拖放进行信息交换。

示例代码VB.NET

Dim content as String
content = dataRec1.AllData & vbCr & dataRec2.AllData & vbCr &。
dataRec1.DataField(Main_Name)
MsgBox(content)
示例代码 C#
content = dataRec1.AllData + "\r\n" + dataRec2.AllData + "\r\n" + 。
dataRec1.get_DataField(Main_Name)。
MessageBox.Show(content);
注意:为了提高数据字段访问的可读性,可以定义全局常量,这些全局常量的名称而不是索引号,这样更具有描述性。下面请找到其上下文中的代码。

Example Code VB.NET

Const Main_ID = 0
Const Main_Name = 1
Const Main_Start = 2
Const Main_Duration = 4
'...
Dim dataRec1 As VcDataRecord
Dim dataRec2 As VcDataRecord

Dim content As String
VcGantt1.TimeScaleEnd = DateSerial(2014, 1, 1)
VcGantt1.TimeScaleStart = DateSerial(2013, 1, 1)

VcGantt1.ExtendedDataTablesEnabled = True
dataTable = VcGantt1.DataTableCollection.DataTableByName("Maindata")
dataRecCltn = dataTable.DataRecordCollection

ReDim dataRecVal(dataTable.DataTableFieldCollection.Count)

dataRecVal(Main_ID) = "1"
dataRecVal(Main_Name) = "Node 1"
dataRecVal(Main_Start) = DateSerial(2013, 1, 8)
dataRecVal(Main_Duration) = 8
dataRec1 = dataRecCltn.Add(dataRecVal)

dataRecCltn.Add("2;Node 2;15.01.13;;9")

VcGantt1.EndLoading()
'...

dataRec1 = dataRecCltn.DataRecordByID("1")
dataRec2 = dataRecCltn.DataRecordByID("2")

dataRec1.DataField(Main_ID) = 1
dataRec1.DataField(Main_Name) = "Activity X"
dataRec1.DataField(Main_Start) = DateSerial(2013, 1, 4)
dataRec1.DataField(Main_Duration) = 12
dataRec1.Update()

dataRec2.AllData = "2;Activity Y;18.01.13;;5"
dataRec2.Update()

content = dataRec1.AllData & vbCr & dataRec2.AllData & vbCr &
dataRec1.DataField(Main_Name)
MsgBox(content)
'...
dataRec2.AllData = "2;""Activity Y;Z"";18.01.13;;5"
dataRec2.Update()
content = dataRec1.AllData & vbCr & dataRec2.AllData
MsgBox(content)
Example Code C#
const int Main_ID = 0;
const int Main_Name = 1;
const int Main_Start = 2;
const int Main_Duration = 4;
//...
VcDataRecord dataRec1;
VcDataRecord dataRec2;
string content;
vcGantt1.TimeScaleEnd = Convert.ToDateTime("01.01.2014");
vcGantt1.TimeScaleStart = Convert.ToDateTime("01.01.2013");

vcGantt1.ExtendedDataTablesEnabled = true;
VcDataTable dataTable =
vcGantt1.DataTableCollection.DataTableByName("Maindata");
VcDataRecordCollection dataRecCltn = dataTable.DataRecordCollection;
Object [] dataRecVal = new
object[dataTable.DataTableFieldCollection.Count];)

dataRecVal[Main_ID] = "1";
dataRecVal[Main_Name] = "Node 1";
dataRecVal[Main_Start] = "08.01.2013";
dataRecVal[Main_Duration] = 8;
dataRec1 = dataRecCltn.Add(dataRecVal);

dataRecCltn.Add("2;Node 2;15.01.13;;9");

vcGantt1.EndLoading();

//...
dataRec1 = dataRecCltn.DataRecordByID(1);
dataRec2 = dataRecCltn.DataRecordByID(2);

dataRec1.set_DataField(Main_ID, 1);
dataRec1.set_DataField(Main_Name, "Activity X");
dataRec1.set_DataField(Main_Start, "04.01.2013");
dataRec1.set_DataField(Main_Duration, 12);
dataRec1.Update();

dataRec2.AllData = "2;Activity Y;18.01.13;;5";
dataRec2.Update();

content = dataRec1.AllData + "\r\n" + dataRec2.AllData + "\r\n" +
dataRec1.get_DataField(Main_Name);
MessageBox.Show(content);
//...
dataRec2.AllData = "2;Activity Y;Z;18.01.13;;5";
dataRec2.Update();
content = dataRec1.AllData + "\r\n" + dataRec2.AllData;
MessageBox.Show(content);
将创建以下输出:



APS帮助提升企业生产效率,真正实现生产排程可视化呈现与控制,快速有效响应不同场景的生产计划,提高准时交货能力,提高产能和资源利用率

想要了解甘特图慧都APS系统,请登录慧都网咨询在线客服,解决您的问题!



标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,尊重他人劳动成果

文章转载自:NETRONIC

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
在线咨询
联系我们
TOP
在线客服系统
live chat