1、SQL方面:
(1)、用DECODE函数解决除数为零的情况
具体语法:
DECODE(参数,0,1,参数) ->DECODE(TAB1.A8,0,1,TAB1.A8)
(2)、保留小数方法:
CAST(num as number(18,6))-> 6代表小数的位数
CAST((TAB1.a2)/decode(tab1.a8,0,1,tab1.a8) as number(18,6)
也可以用用ROUND()保留小数位。
2、代码方面:
尤其是这个困扰了我好长时间(以后要尤其注意)
(1)、遇到报表中的动态字段的时候在生成列的方法里面写rownum,然后用Map把对应的编码(名称)和添加的rownum相互对应(这样动态的字段就变成了相应的固定字段)
(在报表中的rs可以直接取根据字段的别名取获得字段的值)
Map<String, Integer> ciMap = new HashMap<String, Integer>();
IRowSet rs1 = getCostItems_test(companyId, locale, filterContent,tblPreTreatData, filter);
try {
while (rs1.next()) {
ciMap.put(rs1.getString("ciNumber"), rs1.getInt("nums"));
}
} catch (SQLException e1) {
e1.printStackTrace();
}
(2)、冻结列
this.kDTable1.getViewManager().setFreezeView(-1, this.kDTable1.getColumn("dwzcb1").getColumnIndex());
(3)、F7控件树形展示