日期:2014-05-20  浏览次数:20705 次

求一动态报表
java
sql server 数据库

要求 
页面用checkbox选择
字段1,字段2,字段3

然后后台查询字段1,字段2,字段3的值

如果值选择字段1,则光查询字段1的值

大概报表的样式是这样的

部门 字段1 字段2 字段3 合计
人事 1 2 3 6
技术 3 3 3 9
合计 4 5 6 15

我sql语句得到的结果是这样的:
部门,字段1,字段2,字段3......

请教下如何用程序实现这种动态查询,而且算小计的?思路实在乱啊,
动态选择字段已经实现,就是不知道该如何动态填数据进去,
求前辈指点...
谢谢了!

------解决方案--------------------
用柱图报表,就能处理,用jfreechart就能实现!
------解决方案--------------------
一个dto对象 五个属性 部门名 字段1 字段2 字段3 合计

实现类 查到数据库里的数值, 给dto对象赋值,将dto 添加到list ,返回list

你是要生成表格 还是图形报表?

表格 直接用标签 迭代 取出list里的值就行。

图 就用jfreechart, 我博客有 jfreechart的文章。
------解决方案--------------------
探讨

用柱图报表,就能处理,用jfreechart就能实现!

------解决方案--------------------
4楼正解!!!顶
------解决方案--------------------
四楼正解,楼主估计是新手吧? 
定义实体entity 
entity中有属性 部门名 字段1 字段2 字段3 合计

然后将每次查询得到的对应属性的值, set进属性里边
然后entity对象填充之后
list.add(entity)
以上的循环完,之后就只list对象了

list返回页面,迭代显示控件,控件填充属性名称。。。。。。

------解决方案--------------------
。。。合计的列 两种方式:
1 后台读取到字段123的值之后计算得到合计 set到合计属性里 返回到页面直接显示合计属性即可 
2 页面得到属性值时候计算得到合计再显示到合计标签处、
3 用sql语句也是可以计算得到合计值的啊。。。。。 三个字段相加 得到的值作为合计的返回值
。。。。。。。
------解决方案--------------------
用birt的交叉报表
------解决方案--------------------
用FineReport的话
按照下面结构做模板
人事 数据列
技术 数据列
合计 求和

然后部门字段,可以用参数设置,部门字段肯定和人事,技术什么的数据相关联,直接搞定问题