提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:杨鹏连|2021-03-19 10:06:11.603|阅读 222 次
概述:VARCHART XGantt是一个交互式甘特图组件,可生成清晰,灵活的甘特图。本文介绍了如何创建和修改数据记录。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
甘特图(Xgantt)从1998年的第一个商用版本开始就致力于计划编制和项目管理方面控件的研究和开发,经过20多年的积累和沉淀,目前可为软件开发商和最终用户提供最顶级的计划编制和项目管理的控件产品,帮助用户快速的整合项目管理软件所需的甘特图,网络图,资源柱状图,日程日历,资源调度等功能模块,并提供全方位的支持和服务。
VARCHART XGantt是一款功能强大的甘特图控件,其模块化的设计让您可以创建满足需要的应用程序。XGantt可用于.NET,ActiveX和ASP.NET应用程序,可以快速、简单地集成到您的应用程序中,帮助您识别性能瓶颈、避免延迟以及高效利用资源,使复杂数据变得更加容易理解。
VARCHART XGantt在市场上已有近30年的历史,它提供了最完善的C#Gantt图表控件,可用于构建现代而又可靠的行业资源调度应用程序。
在定义了数据表字段后,你可以通过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) = 8Example 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系统,请登录慧都网,解决您的问题!
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
文章转载自:本文将探讨如何使用 Spire.XLS for .NET 在 C# 程序中导入 Excel 数据到数据库以及导出数据库到 Excel 文件,实现数据在 Excel 和数据库之间无缝流转。
在本文中,我们将向您展示如何逐步执行此操作,告诉您什么是 SCORM,为什么需要使用它,并列出我们测试过的最佳 SCORM 转换工具之一——iSpring Suite。
本文主要介绍如何使用Kendo UI for Angular组件的ListView来构建带有图表的仪表板,欢迎下载新版控件体验!
在本文中,您将学习如何使用Spire.PDF for .NET在 C# 中向 PDF 文档添加页码。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢