业务场景: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); //期末余额
}
}