2009-6-4 ireport form 开发纪录

1  将FORM提交到新打开的窗口

function formSubmit(form)
 {
  var win = window.open("","report","HEIGHT=300,WIDTH=400,scrollbars");
  form.target = "report";
  form.submit();
 }

 

2 IREPORT 报表

$p{parameter}

$F{field}

 

将子报表定义为

java.io.inputStream

$P{FileStream}

 

在导出报表时 加上参数 FileStream

parameters.put("FileStream", new ByteArrayInputStream(report.getReportContent()));

JasperRunManager.runReportToPdf(is,parameters,conn);

 

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/PDPORTALDB"/>
</bean>

SpringApplicationContextFinder.getApplicationContext().getBean("dataSource");

conn = dateSource.getConnection();

 

得到 报表二进制数组 byte[]

 

导出报表

ByteArrayInputStream bi = new ByteArrayInputStream(pdfFile); pdfFile=runReportToPdf

response.setContentType("application/pdf");

response.setHeader("Content-Disposition","inline; filename="+ filenamedisplay);

 

inline在窗口打开  attachment 保存

ServletOutputStream so = response.getOutputStream();


   while ((len = bi.read(bytes)) != -1) {
    so.write(bytes, 0, len);
   }

 

保存报表二进制

getFileData()

sqlserver database table :: image

 

3 ireport 饼图

图表属性->图表数据->细节区域值

键表达式 $F{ORGNAME}

 

值表达式$F{NUM}

 

标签表达式$F{ORGNAME}

 

4 ireport 中文

字体 STSONG  宋体

PDF字体名   STSong-Light (不设该值 导出pdf中文会出现乱码)

PDF编码  UniGB-UCS2-H (Chinese Simplified)

 

5 form

<html:text property="reportName" maxlength="10" >

<script>

var name = document.forms[0].reportName.value;

</script>

 

6 javascript:

name = name.trim();

var a = new Array(0);

 

7 手工用javascript插入新的一行

var paramtable = document.getElementById('ParamTable');
  var newNode = paramtable.insertRow(paramtable.getElementsByTagName('tr').length);
  
  var y=newNode.insertCell(0);
     var z=newNode.insertCell(1);
  
  y.innerHTML='<input name="paramNames" type="text" value="'+newParamName+'">';
     z.innerHTML='<input name="paramKeys" type="text" value="'+newParamkey+'">';
     
     var newParamTR = document.getElementById('newParamTR');
     var tds = newParamTR.getElementsByTagName('input');
     for(var i=0;i<tds.length-1;i++)
     {
      tds[i].value = "";
     }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值