没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:莫成敏|2019-09-25 09:32:24.190|阅读 279 次
概述:VARCHART XGantt是一个交互式的甘特图控件,其模块化的设计让您可以创建满足您和您的客户所需求的应用程序。本文主要描述甘特图数据表教程中的——创建和修改数据记录!
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
VARCHART XGantt是一个交互式的甘特图控件,其模块化的设计让您可以创建满足您和您的客户所需求的应用程序。(我们领先的甘特图控件VARCHART XGantt可用于.NET,ActiveX和ASP.NET应用程序。)除此之外,同时还具有一个稳定可靠的甘特图工具,在编写第一行代码之前,您就可以知道是否可以满足客户的需求。本文主要描述甘特图数据表教程中的创建和修改数据记录!内容紧接上文(数据表——创建数据表)~
创建和修改数据记录
定义数据表字段之后,您可以通过API将数据记录添加到表中。有两种向记录中添加数据的方法。我们建议使用一种普通的做法来定义类型对象的数组,其对象的数量与数据表字段的数量相对应。
示例代码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
示例代码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;Activity Y;15.01.13;;9";
如果数据值包含分号,则字符串必须用双引号引起来。
示例代码VB.NET
dataRec2 = dataRecCltn.Add("2;""Node 2;"";15.01.13;;9")
示例代码C#
dataRec2 = dataRecCltn.Add("2;\"Node 2;\";15.01.13;;9");
可以使用DataRecordByID()方法通过主键快速找到对数据库对象的引用。
示例代码VB.NET
dataRec1 = dataRecCltn.DataRecordByID("1") dataRec2 = dataRecCltn.DataRecordByID("2")
示例代码C#
dataRec1 = dataRecCltn.DataRecordByID(1); dataRec2 = dataRecCltn.DataRecordByID(2);
通过使用索引属性DataField(),可以轻松修改数据记录的单个数据字段的内容。为了替换记录的所有数据字段内容,可以使用属性AllData。
示例代码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()
示例代码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);
注意:为了提高数据字段访问的可读性,您可以定义具有名称而不是索引号的全局常量,这些名称更具描述性。请在下面找到其上下文中的代码:
示例代码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)
示例代码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);
将创建以下输出:
相关内容推荐:
想要购买VARCHART XGantt正版授权,或了解更多产品信息请点击
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@wqylolg.cn
无论是零售、物流还是医疗保健,旋转条形码图像的功能都能增强不同应用的灵活性和适应性。使用Aspose.BarCode for Java,您可以轻松旋转条形码图像,确保它们无缝融入应用程序的设计和布局。
借助Aspose.Slides for Java,开发人员可以轻松编辑 PowerPoint 幻灯片(包括表格),以增强演示文稿的效果。
VMProtect 是保护程序代码免遭分析与破解的利器,但很多开发者在实现注册机制时犯了关键性错误,使得再强大的加壳工具也难以阻挡黑客破解。本文将从注册逻辑设计、密钥验证方式、注册状态存储等多个角度,系统拆解常见误区,并结合 VMProtect 的虚拟化和加密策略,提供构建高强度注册保护的实战方案。
在本文中,我们将探讨如何在FastReport .NET中配置与 Apache Ignite 的连接。您将学习通过代码和报表设计器连接插件的必要步骤。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@wqylolg.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢