窗體對象
在窗體中顯示出來的每一個欄位或說明,都是在電子表單設計師中繪製的,對電子表單設計師來說都是窗體對象,每個對象都有自己的屬性及方法,可以利用 Form 對象將每個窗體對象取出進行設置,使用方式如下:
var JComponent = Form.getComponent(對象名稱);
table 物件:資料庫的數據表對象,就是在窗體中以 Grid 模式呈現的對象。
回傳值/對象 | 函式 (數據型態 參數) | 說明 |
---|---|---|
Vector | getRowList() | 回傳整個 Table 的資料 |
HashMap | getRowData(int row) | 回傳該 row 的所有數據 |
void | setRowList(Vector rowList) | 將 rowList 的數據放入 Table 中 |
void | clear() | 將 Table 資料清除 |
String | getValueAt(int row, String colName) | 根據參數指定,回傳該 cell 的值 |
String | getValueAt(int row, int col) | 根據參數指定,回傳該 cell 的值 |
int | getSelectedRow() | 回傳目前游標停留的 row 位置 |
int | getSelectedColumn() | 回傳目前游標停留的 column 位置 |
int | getRowCount() | 回傳 Table 目前的 row 總數 |
int | newRow() | 新增一筆 row,並回傳該 row 的位置 |
void | setValueAt(Object value, int row, String colName) | 根據參數指定,設置該 cell 的值為參數 value |
void | setValueAt(Object value, int row, int col) | 根據參數指定,設置該 cell 的值為參數 value |
void | setColHiding(String[] hideCols) | 隱藏 hideCols 所記錄的各個字段,參數是各個欄位名稱組成的數組 |
void | setColHiding(String colName) | 隱藏某一個字段,參數是該欄位名稱 |
String[] | getColHidingByName() | 用於查詢有哪些字段正處於隱藏狀態,回傳值為欄位名稱的字串數組 |
void | resetColHiding() | 用於還原 Table 所有隱藏欄位為顯示狀態 |
table 對象使用範例
範例:
table 對象數據存取:
1) 若窗體中有一 table 對象——"Table1",要將第 1 筆記錄的字段 "姓" 及字段 "名" 字串相加後,放入字段 "全名" 中: var table = Form.getComponent("Table1"); // 將窗體中的 Table1 對象取出 var surname = table.getValueAt(0,"姓"); // 將第 1 筆記錄的 "姓" 欄中的數據取出 var name = table.getValueAt(0,"名"); // 將第 1 筆記錄的 "名" 欄中的數據取出 var full_name = surname + name; table.setValueAt(full_name, 0 , "全名"); // 將全名放入第 1 筆記錄的 "全名" 欄中
範例:
在 table 對象中加入一筆新的記錄:
var table = Form.getComponent("Table1"); // 將窗體中的 Table1 對象取出 var row = table.newRow(); // 在 table 中新增一筆空白記錄 row = row - 1; // 由於行數是從 0 開始,所以在處理時須將實際行數減 1 table.setValueAt(200, row,"單價"); // 將 200 放入 "單價" 欄中 table.setValueAt(5, row,"數量"); // 將 5 放入 "數量" 欄中
範例:
在 table 對象的字段「序號」中,按順序為每筆記錄加上流水號:
var table = Form.getComponent("Table1"); // 將窗體中的 Table1 對象取出 var rowCount = table.getRowCount(); // 抓出 table 目前的記錄筆數 for(var i = 0; i < rowCount; i++) { // 用循環為每筆記錄加序號的流水號 table.setValueAt(i+1,i,"序號"); }
範例:
將 table 對象的全部數據取出,並放入另一個相同格式的 table 對象中(兩個 table 的格式必須完全相同):
var table1 = Form.getComponent("Table1"); // 將窗體中的 Table1 對象取出 var rowList = table1.getRowList(); // 抓出 Table1 目前的所有記錄 var table2 = Form.getComponent("Table2"); // 將窗體中的 Table2 對象取出 table2.setRowList(rowList); // 將 table1 的所有記錄放入 table2 中
範例:
隱藏 table 對象中的字段「密碼」:
var table = Form.getComponent("Table1"); // 將窗體中的 Table1 對象取出 var column = "密碼"; table.setColHiding(column); // 將「密碼」字段隱藏