开发jxca报表心得
虽然是一张简单的报表,但是,真正做起来还是遇到很多问题,可以写下来的很多东西。 一、后台数据获得 1、后台数据的获得,因为SQLServer数据库本身数据量很大,因此在获得数据的时候SQL语句的编写十分重要。要统计满足某个条件的记录条数,当然知道是 select count(*) group by?? 的形式来获得,但是,如果为空的记录就不会显示出来。起初我使用的是“ group by 所在设区市 ”的形式,然后再取并集,这种比较笨的方法实现,这种显然效率比较低。第二天在网上搜索了一下,使用“ group by all?所在设区市 ”的形式,这种方法可以把为空的市区也呈现出来,符合我们的要求。 2、主要用了两个bean,一个ConnDB.java(连接数据库),一个 ShuliangManager.java(静态方法,返回所取数据列表)。 二前台页面的展现: 1、周日在家,我的想法是单独用table 来实现,但是遇到了很多问题,而且非常难以实现这样的方式。周一,咨询了一位同事,用dreamweaver来实现。用这个确实比较简单。需要借鉴的是,如果某个单元格是通过合并多行或者多列实现的,是通过 <td width="252" rowspan="2" colspan="2"><div align="center">地区类型</div></td>,rowspan colspan这种方式来实现的。后续在数据库取得的数据,根据每行,列头的width的大小来设置后面所取数据的宽度。 ? 2、由于在dreamweaver下面拷贝过来的代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> ? 因此如果: <input type="hidden" name="year" value="<%=stryear %>"> 就会提示错误“tag input must be empty”,提示这样的错误 解决方法: <input type="hidden" name="year" value="<%=stryear %>"/> 3、增加导出excel功能:方法如下: 在原有</table>下面增加: <input type="hidden" name="year" value="<%=stryear %>"/>???用于传递 "year"参数 check函数实现如下: ?function check(){ 通过flag的设置从而,实现跳转。 在此jsp<head>之前对此进行了判断,如果flag标志为1,则实现导出到Excel中实现的功能。 if(request.getParameter("flag").equals("1")){response.setContentType("application/vnd.ms-excel");response.setHeader("Content-disposition","attachment; filename=MyExcel.xls");} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |