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