摘要
隨著紫金橋組態軟件和實時數據庫在全球范圍內的廣泛應用,為了滿足廣大客戶的應用需求,紫金橋公司開發了“通用數據表組件”,使用該組件可以在畫面緩存數據,同時也可以作為一種類型以參數的形式進行傳遞。使用該組件時,可以把它想像成一個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,實型變量,得到的實型數據。 返回值: 成功標志,非 0 表示操作成功;0 表示失敗。
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:字符串
三、總結:
紫金橋通用數據表的使用非常簡單,并且易于理解。 |