自定义颜色显示填报时校验出错的数据

润乾填报表可以设定数据提交前的校验规则,不满足规则的数据,除了可以弹出提示信息外,还可以在填报数据的页面以特殊颜色标识出错数据,默认使用红色,当然也可以根据需要自定义颜色。

首先我们看一下设置校验后,数据出现错误后的效果。

以报表设计器下自带的 7.1.sht 为例,我们在 H3 单元格添加了校验规则:工资不能大于 1.2W。

1png

在页面上我们对数据进行修改,当鼠标光标失去焦点后,就会弹出提示并标红刚刚修改的不符合规则的数据,效果如下图所示:

2png

如果用户想换用别的标注方式,可以在 jsp 中通过实现 js 函数接口来修改,接口定义如下:

function markInvalidCellUser(cell, addMark) {

    // 用户程序代码

}

参数 cell 表示需要标注的单元格对象,addMark 是 bool 型,true 表示要添加标注,false 表示要清除标注。

下面是系统的标注函数,供参考

function _markInvalidCellDefault(cell, addMark) {

var oldbk = cell.getAttribute(“oldbk”);

if(addMark) {   // 添加标记

if(oldbk != null) return;   // 标记过的,不用再标记了

cell.setAttribute(“oldbk”, cell.style.backgroundColor);

cell.style.backgroundColor = “red”;

var table = _lookupTable(cell);

if(table.currEditor != null && table.currEditor.editingCell == cell) {  //cell 是当前编辑单元格

_setEditorStyle(table.currEditor, cell);

}

}

else {   // 清除标记

if(oldbk != null) {  // 说明有标记过

cell.style.backgroundColor = oldbk;

cell.removeAttribute(“oldbk”);

}

}

}

我们在填报表展现的页面 showInput.jsp 中添加这个 JS,将 red 改成 pink,如果再修改数据,出现的效果就是我们所设定的粉色了。

3png