增加、修改单元格事件
首先明白的是,在web中对报表单元格进行操作,实际就是对HTML里的<table>子元素<rd>的操作。而<TD>提供了包括onClick等数十个事件。我们在知道<TD>元素id属性的情况可以对ID里的属性事件等进行操作,我们以在javascript里控制填报表的可写性为例。其实,填报表的可写性是通过<TD>的onClick事件,来控制的,如果onClick时触发_hideEditor()函数,则单元格不可写,而onClick时触发_displayEditor(),则单元格自动设计为可写。如可以在报表中通过javascript:function()等方法来触如下自定义的javascript的函数来控制整个报表的可写性:
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{//设置报表为可写(填)
currCell.onclick=_displayEditor;
}
}
}
}
其中,两个参数类型分别为object及boolean。如通过button方式触发调用本函数设置报表为不可填写代码如下:
<input type=button value=测试 onClick=setReportWritable(document.getElementById("report1"),false)>