彩票走势图

VARCHART XGantt用户手册:数据表——创建和修改数据记录(.NET版)

翻译|使用教程|编辑:莫成敏|2019-09-25 09:32:24.190|阅读 277 次

概述:VARCHART XGantt是一个交互式的甘特图控件,其模块化的设计让您可以创建满足您和您的客户所需求的应用程序。本文主要描述甘特图数据表教程中的——创建和修改数据记录!

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

VARCHART XGantt是一个交互式的甘特图控件,其模块化的设计让您可以创建满足您和您的客户所需求的应用程序。(我们领先的甘特图控件VARCHART XGantt可用于.NET,ActiveX和ASP.NET应用程序。)除此之外,同时还具有一个稳定可靠的甘特图工具,在编写第一行代码之前,您就可以知道是否可以满足客户的需求。本文主要描述甘特图数据表教程中的创建和修改数据记录!内容紧接上文(数据表——创建数据表)~

点击下载VARCHART XGantt正式版

创建和修改数据记录

定义数据表字段之后,您可以通过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

可以通过对象DataRecordCollectionAdd()方法添加数据记录,该对象数组作为参数传递。

示例代码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用户手册>>>


想要购买VARCHART XGantt正版授权,或了解更多产品信息请点击

Zend-Studio-640×220.png



标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP