摘要
随着紫金桥组态软件和实时数据库在全球范围内的广泛应用,为了满足广大客户的应用需求,紫金桥公司开发了“通用数据表组件”,使用该组件可以在画面缓存数据,同时也可以作为一种类型以参数的形式进行传递。使用该组件时,可以把它想像成一个Excel表,因为内部原理也是以行列的形式进行存储的。该组件可以和自由报表联合使用完成数据的展示。
本文详细的介绍了紫金桥公司“通用数据表”提供的脚本函数和使用方法。
通用数据表的使用可以分成两种方法:一种是作为组件,另一种是数据类型。下面分别介绍这两种使用方法。
一、作为组件使用
创建通用数据表:打开“拖拽子图到窗口/组件、复杂精灵/报表/通用数据表”。如下图:
双击或拖拽“通用数据表”图标,一个通用数据表就建立了。这样建立的通用数据表是一个窗口对象,在窗口内可见。如下图:
下面是在脚本中使用,向数据表中加入三列和二行数据,列名为“姓名、年龄、成绩”,内容列表如下:
姓名 | 年龄 | 成绩 |
张三 | 25 | 98.5 |
李四 | 26 | 92 |
脚本内容如下图:
二、作为数据类型使用
如果你仅是想在某个脚本中临时使用通用数据表,那么你不必在窗口中事先创建一个具有实体的通用数据表,只需定义一个临时的通用数据表对象即可。
定义一个通用数据表是指在任意人机界面的脚本内以数据类型的形式定义一个临时对象,这就像定义一个临时变量一样。定义方法如下:
ObDataTable [对象名];
脚本内容如下图:
三、通用数据表支持的函数
1)BOOL Get(string ColName, int Row, int Val)
说明:
从表格对象的指定的列、行中获取整型数据。
参数:
ColName,字符串型,列名。
Row,整型,行号,从0开始。
Val,整型变量,得到的整型数据。
返回值:
成功标志,非 0 表示操作成功;0 表示失败。
2)BOOL Get(string ColName, int Row, real Val)
说明:
从表格对象的指定的列、行中获取实型数据。
参数:
ColName,字符串型,列名。
Row,整型,行号,从0开始。
Val,实型变量,得到的实型数据。
返回值:
3)BOOL Get(string ColName, int Row, string Text)
说明:
从表格对象的指定的列、行中获取文本数据。
参数:
ColName,字符串型,列名。
Row,整型,行号,从0开始。
Text,字符串型变量,得到的文本数据。
返回值:
成功标志,非 0 表示操作成功;0 表示失败。
4)BOOL Set (string ColName, int Row, int Val)
说明:
设置表格对象的指定的列、行中整型数据。
参数:
ColName,字符串型,列名。
Row,整型,行号,从0开始。
Val,整型,要设置的整型数据。
返回值:
成功标志,非 0 表示操作成功;0 表示失败。
注意:
若想为通用数据表某一列增加一个单元格,则直接使用Set()即可,本对象不提供SetCount()和Add()函数。
每一列的数据类型必须相同。
5)BOOL Set(string ColName, int Row, real Val)
说明:
设置表格对象的指定的列、行中实型数据。
参数:
ColName,字符串型,列名。
Row,整型,行号,从0开始。
Val,实型,要设置的实型数据。
返回值:
成功标志,非 0 表示操作成功;0 表示失败。
注意:
若想为通用数据表某一列增加一个单元格,则直接使用Set()即可,本对象不提供SetCount()和Add()函数。
每一列的数据类型必须相同。
6)BOOL Set(string ColName, int Row, string Text)
说明:
设置表格对象的指定的列、行中文本。
参数:
ColName,字符串型,列名。
Row,整型,行号,从0开始。
Text,字符串型,要设置的文本数据。
返回值:
成功标志,非 0 表示操作成功;0 表示失败。
注意:
若想为通用数据表某一列增加一个单元格,则直接使用Set()即可,本对象不提供SetCount()和Add()函数。
每一列的数据类型必须相同。
7)BOOL RemoveCol (string ColName)
说明:
删除表格对象中指定的列。
参数:
ColName,字符串型,要删除列的列名。
返回值:
成功标志,非 0 表示操作成功;0 表示失败。
8)BOOL RemoveRow (int Row)
说明:
删除表格对象中指定的行。
参数:
Row,整型,要删除行的行号,从0开始。
返回值:
成功标志,非 0 表示操作成功;0 表示失败。
9)string GetColName (int Col)
说明:
得到表格对象中指定列的名称。
参数:
Col,整型,指定的列号,从0开始。
返回值:
字符串型,返回的列名。
10)int GetColCount ()
说明:
得到表格对象列的个数。
参数:
无。
返回值:
整型,返回的列数。
11)int GetRowCount ()
说明:
得到表格对象行的个数。
参数:
无。
返回值:
整型,返回的行数。
12)BOOl Clear ()
说明:
清空数据表中的数据,包括列名。
参数:
无。
返回值:
成功标志,非 0 表示操作成功;0 表示失败。
13)BOOL Copy (ObDataTable DestTable)
说明:
将本数据表中的数据复制到指定的数据表。
参数:
DestTable,通用数据表对象,指定的目标数据表。
返回值:
成功标志,非 0 表示操作成功;0 表示失败。
14)int GetType (string ColName)
说明:
得到表格对象指定的列的数据类型。
参数:
ColName,字符串型,指定的列名。
返回值:
整型,0:浮点;1:整型;2:字符串
三、总结:
紫金桥通用数据表的使用非常简单,并且易于理解。