获取并修改填报表单元格的值
需求背景:
行式报表的页面上有两个按钮—“上报”和“审核”,两者的功能是对数据进行一个相应的标识,然后提交入库。点击“上报”的时候将某个单元格的值修改为1,并进行提交。点击“审核”的时候,将该单元格的值修改为2,并进行提交。
实现方法:
在发布报表的JSP中定义两个按钮:
<table>
<tr><td>
<span class=”button_01″><input type=”button” value=”上报” onClick=”_setValue(‘report1_B2′,’1′)”></span>
<span class=”button_01″><input type=”button” value=”审核” onClick=”_setValue(‘report1_B2′,’2′)”></span>
</td></tr>
</table>
这两个按钮调用同一个方法:_setValue()。但是传入的参数分别是(‘report1_B2′,’2′)和(‘report1_B2′,’1′),即将B2单元格的值修改为1或者2。
那么下面一起来看看这个_setValue()的方法体:
function _setValue(report_CellName, value){
//cellName的格式为report1_C1等,report1为tag的name属性
var cell = document.getElementById(report_CellName);
var table = _lookupTable( cell );
if( ! _submitEditor( table ) ) return;
cell.value = value; //修改真实值
cell.innerText= value; //修改显示值
if( table.isli) {
//判断当前报表是否为行式报表
var editingRow = cell.parentElement;
if(editingRow.status == “0″) editingRow.status = “1″;
else if( editingRow.status == “2″ ) editingRow.status = “3″;
_calcTbl( table, cell );
}
}
Web效果:
报表B2单元格的初始值为77:
点击“上报”
点击“审核”:
补充:
普通填报表获取并修改单元格的值的方法:
function check_setValue(){
var cell = document.getElementById(“report1_B2″);
alert(cell.value);//原始值
document.getElementById(“report1_B2″).value=99;//将99赋值给B2单元格
var cellvalue = document.getElementById(“report1_B2″);
alert(cell.value);//修改后的值
}
定义一个按钮来调用该方法即可。