润乾报表行式填报表可写控制

需求

行式填报表页面要有可编辑和不可编辑按钮,单击不可编辑后,报表就不能填写数据了;单击可编辑按钮,报表可以填写数据。

制作报表

行式填报表制作,其中带有下拉日历、下拉树、下拉数据集、下拉列表,在后面我们会看到对他们的设置有所不同。

制作发布报表JSP

<%@ page contentType=”text/html;charset=GBK” %>

<%@ taglib uri=”/WEB-INF/runqianReport4.tld” prefix=”report” %>

<%@ page import=”java.io.*”%>

<%@ page import=”java.util.*”%>

<%@ page import=”com.runqian.report4.usermodel.Context”%>

 

<html>

<body>

<input id=”abc” type=”button”

onclick=”setReportWritable(document.getElementById(‘report1′), false)”

value=”不可编辑” />

<input id=”abc” type=”button”

onclick=”setReportWritable(document.getElementById(‘report1′), true)”

value=”编辑” />

<table >

<tr><td>

<report:html name=”report1″ reportFileName=”test.raq”

funcBarLocation=”top”

needPageMark=”yes”

generateParamForm=”no”

exceptionPage=”/reportJsp/myError2.jsp”

/>

</td></tr>

</table>

 

<script language=”javascript”>

var temp=new Array();

var row=document.getElementById(“report1″).rows.length; //请注意此处的写法

for(var i=0;i<row;i++)

{

temp[i]=new Array();

var currRow=document.getElementById(“report1″).rows[i];

for(var col=0;col<currRow.cells.length;col++)

{

var currCell=currRow.cells[col];

temp[i][col]=currCell.onclick;

}

}

 

//设置报表的单元格是否可写,

//所需要的值为:报表的对象,和boolean值,true为可写,false为不可写

function setReportWritable(report_table, writable) {

var _input_report_writable = writable;//设置为是否可写,boolean类型

 

for ( var row = 0; row < report_table.rows.length; row++) {

var currRow = report_table.rows[row];//取得行

for ( var col = 0; col < currRow.cells.length; col++) {

var currCell = currRow.cells[col];//取得指定行列(单元格)

if (!writable) {//设置为不可写(填)

currCell.onclick = _hideEditor;

} else {//设置报表为可写(填)

if(currCell.editStyle==6){

currCell.onclick = function anonymous() { _hideEditor(); _runqianCalendar.dateFormat=’yyyy-MM-dd HH:mm:ss’; //请注意此处的写法

_runqianCalendar.type= ‘date’; //请注意此处的写法

_showCalendar();_setRowColBackColor(this) };

}

else if(currCell.editStyle==8){

currCell.onclick=temp[row][col];

}

else{

currCell.onclick=_displayEditor;

}

}

}

}

}

</script>

 

</body>

</html>

 

访问该jsp即可看到效果。

热门文章