摘要
隨著紫金橋組態(tài)軟件和實時數(shù)據(jù)庫在全球范圍內(nèi)的廣泛應用,為了滿足廣大客戶的應用需求,紫金橋公司開發(fā)了“通用數(shù)據(jù)表組件”,使用該組件可以在畫面緩存數(shù)據(jù),同時也可以作為一種類型以參數(shù)的形式進行傳遞。使用該組件時,可以把它想像成一個Excel表,因為內(nèi)部原理也是以行列的形式進行存儲的。該組件可以和自由報表聯(lián)合使用完成數(shù)據(jù)的展示。
本文詳細的介紹了紫金橋公司“通用數(shù)據(jù)表”提供的腳本函數(shù)和使用方法。
通用數(shù)據(jù)表的使用可以分成兩種方法:一種是作為組件,另一種是數(shù)據(jù)類型。下面分別介紹這兩種使用方法。
一、作為組件使用
創(chuàng)建通用數(shù)據(jù)表:打開“拖拽子圖到窗口/組件、復雜精靈/報表/通用數(shù)據(jù)表”。如下圖:

雙擊或拖拽“通用數(shù)據(jù)表”圖標,一個通用數(shù)據(jù)表就建立了。這樣建立的通用數(shù)據(jù)表是一個窗口對象,在窗口內(nèi)可見。如下圖:

下面是在腳本中使用,向數(shù)據(jù)表中加入三列和二行數(shù)據(jù),列名為“姓名、年齡、成績”,內(nèi)容列表如下:
姓名 |
年齡 |
成績 |
張三 |
25 |
98.5 |
李四 |
26 |
92 |
腳本內(nèi)容如下圖:

二、作為數(shù)據(jù)類型使用
如果你僅是想在某個腳本中臨時使用通用數(shù)據(jù)表,那么你不必在窗口中事先創(chuàng)建一個具有實體的通用數(shù)據(jù)表,只需定義一個臨時的通用數(shù)據(jù)表對象即可。
定義一個通用數(shù)據(jù)表是指在任意人機界面的腳本內(nèi)以數(shù)據(jù)類型的形式定義一個臨時對象,這就像定義一個臨時變量一樣。定義方法如下:
ObDataTable [對象名]; 腳本內(nèi)容如下圖:

三、通用數(shù)據(jù)表支持的函數(shù)
1)BOOL Get(string ColName, int Row, int Val) 說明: 從表格對象的指定的列、行中獲取整型數(shù)據(jù)。 參數(shù): ColName,字符串型,列名。 Row,整型,行號,從0開始。 Val,整型變量,得到的整型數(shù)據(jù)。 返回值: 成功標志,非 0 表示操作成功;0 表示失敗。
2)BOOL Get(string ColName, int Row, real Val) 說明: 從表格對象的指定的列、行中獲取實型數(shù)據(jù)。 參數(shù): ColName,字符串型,列名。 Row,整型,行號,從0開始。 Val,實型變量,得到的實型數(shù)據(jù)。 返回值: 成功標志,非 0 表示操作成功;0 表示失敗。
3)BOOL Get(string ColName, int Row, string Text) 說明: 從表格對象的指定的列、行中獲取文本數(shù)據(jù)。 參數(shù): ColName,字符串型,列名。 Row,整型,行號,從0開始。 Text,字符串型變量,得到的文本數(shù)據(jù)。 返回值: 成功標志,非 0 表示操作成功;0 表示失敗。
4)BOOL Set (string ColName, int Row, int Val) 說明: 設(shè)置表格對象的指定的列、行中整型數(shù)據(jù)。 參數(shù): ColName,字符串型,列名。 Row,整型,行號,從0開始。 Val,整型,要設(shè)置的整型數(shù)據(jù)。 返回值: 成功標志,非 0 表示操作成功;0 表示失敗。 注意: 若想為通用數(shù)據(jù)表某一列增加一個單元格,則直接使用Set()即可,本對象不提供SetCount()和Add()函數(shù)。 每一列的數(shù)據(jù)類型必須相同。
5)BOOL Set(string ColName, int Row, real Val) 說明: 設(shè)置表格對象的指定的列、行中實型數(shù)據(jù)。 參數(shù): ColName,字符串型,列名。 Row,整型,行號,從0開始。 Val,實型,要設(shè)置的實型數(shù)據(jù)。 返回值: 成功標志,非 0 表示操作成功;0 表示失敗。 注意: 若想為通用數(shù)據(jù)表某一列增加一個單元格,則直接使用Set()即可,本對象不提供SetCount()和Add()函數(shù)。 每一列的數(shù)據(jù)類型必須相同。
6)BOOL Set(string ColName, int Row, string Text) 說明: 設(shè)置表格對象的指定的列、行中文本。 參數(shù): ColName,字符串型,列名。 Row,整型,行號,從0開始。 Text,字符串型,要設(shè)置的文本數(shù)據(jù)。 返回值: 成功標志,非 0 表示操作成功;0 表示失敗。 注意: 若想為通用數(shù)據(jù)表某一列增加一個單元格,則直接使用Set()即可,本對象不提供SetCount()和Add()函數(shù)。 每一列的數(shù)據(jù)類型必須相同。
7)BOOL RemoveCol (string ColName) 說明: 刪除表格對象中指定的列。 參數(shù): ColName,字符串型,要刪除列的列名。 返回值: 成功標志,非 0 表示操作成功;0 表示失敗。
8)BOOL RemoveRow (int Row) 說明: 刪除表格對象中指定的行。 參數(shù): Row,整型,要刪除行的行號,從0開始。 返回值: 成功標志,非 0 表示操作成功;0 表示失敗。
9)string GetColName (int Col) 說明: 得到表格對象中指定列的名稱。 參數(shù): Col,整型,指定的列號,從0開始。 返回值: 字符串型,返回的列名。
10)int GetColCount () 說明: 得到表格對象列的個數(shù)。 參數(shù): 無。 返回值: 整型,返回的列數(shù)。
11)int GetRowCount () 說明: 得到表格對象行的個數(shù)。 參數(shù): 無。 返回值: 整型,返回的行數(shù)。
12)BOOl Clear () 說明: 清空數(shù)據(jù)表中的數(shù)據(jù),包括列名。 參數(shù): 無。 返回值: 成功標志,非 0 表示操作成功;0 表示失敗。
13)BOOL Copy (ObDataTable DestTable) 說明: 將本數(shù)據(jù)表中的數(shù)據(jù)復制到指定的數(shù)據(jù)表。 參數(shù): DestTable,通用數(shù)據(jù)表對象,指定的目標數(shù)據(jù)表。 返回值: 成功標志,非 0 表示操作成功;0 表示失敗。
14)int GetType (string ColName) 說明: 得到表格對象指定的列的數(shù)據(jù)類型。 參數(shù): ColName,字符串型,指定的列名。 返回值: 整型,0:浮點;1:整型;2:字符串
三、總結(jié):
紫金橋通用數(shù)據(jù)表的使用非常簡單,并且易于理解。 |