業務場景:GUI界面含有KDTable表格時,代碼實作資料填充。以下代碼示例中,表格名稱為tblMain。
填充資料之前需要重新解析表格tblMain.checkParsed()。
/**
* 填充科目餘額資料到KDTable表格
*/
@SuppressWarnings("unchecked")
private void fillData(List dataList) {
tblMain.checkParsed(); //重新解析
tblMain.removeRows(); //删除所有行
for(int i = 0; i < dataList.size(); i++){
if(i > 999){
break; //隻填充1000行資料
}
List rowList = (List) dataList.get(i); //行資料隊列
String orgUnitNumber = (String) rowList.get(0); //組織編碼
orgUnitNumber = orgUnitNumberMapping.get(orgUnitNumber);
String orgUnitName = orgNumberNameMapping.get(orgUnitNumber); //組織名稱
String year = (String) rowList.get(1); //期間年
String month = (String) rowList.get(2); //期間月
String accountNumber = (String) rowList.get(3); //科目編碼
String key = orgUnitNumber + "-" + accountNumber;
accountNumber = accountNumberMapping.get(key);
String accountName = acctNumberNameMapping.get(key); //科目名稱
String yearBegin = (String) rowList.get(5); //年初餘額
String accumulDebit = (String) rowList.get(6); //本年累計借方
String accumulCredit = (String) rowList.get(7); //本年累計貸方
String periodEnd = (String) rowList.get(8); //期末餘額
IRow row = tblMain.addRow();
row.getCell("orgUnitNumber").setValue(orgUnitNumber); //組織編碼
row.getCell("orgUnitName").setValue(orgUnitName); //組織名稱
row.getCell("year").setValue(year); //期間年
row.getCell("month").setValue(month); //期間月
row.getCell("accountNumber").setValue(accountNumber); //科目編碼
row.getCell("accountName").setValue(accountName); //科目名稱
row.getCell("yearBegin").setValue(yearBegin); //年初餘額
row.getCell("accumulDebit").setValue(accumulDebit); //本年累計借方
row.getCell("accumulCredit").setValue(accumulCredit); //本年累計貸方
row.getCell("periodEnd").setValue(periodEnd); //期末餘額
}
}