mysql表进行合法性检查_固定网格填报

填报表往往需要在客户端页面输入时进行合法性检查,如检查输入是否为数字或符合规定的格式等。润乾报表填报表通过两种方式实现合法性检查:

第一种,通过设置单元格的填报数据类型自动实现合法性检查。

第二种,通过设置单元格校验属性,编辑校验表达式进行校验。比如:要求H3单元格里填写的数据在3000到10000之间,则可设单元格校验表达式为:H3>=3000&& H3<=10000。

如例3.1.sht中,H3单元格的数据类型缺省为自动检测,数据库中工资的字段类型为数值型,如果在工资列输入一个字符串,那么在提交填报结果时控制台会出现错误信息。填报输入数据不符合要求时,在提交报表时系统自动进行校验。

还可以手动设置H3单元格的数据类型为数值型,如果在工资列输入一个字符串,焦点离开时会立即校验。

如下图所示,设置H3数据类型为数值型后,焦点离开会立即校验:

ada0e0fc3086ac13b7160f3c050004ee.png

添加单元格校验

合法性检查属性的表达式规则遵从javascript的语法规则,所以在校验表达式中可以是一个javascript表达式,也可以调用一个函数。

例如我们要对例3.1.sht中增加工资的校验,工资的数据在3000到10000元之间,则选中H3单元格,单击主菜单中的【填报】à【单元格校验】,打开单元格校验对话框,在校验中增加一条校验表达式,如下图所示:

c1ce0dbc7743dca1405c5a90079b73bf.png

发布报表后,在工资列输入一个大于10000的数据时,如12000,系统会弹出javascript提示框,提示用户输入的数据有误,如下图所示:

e4f151169a889f0fdff5dc32479fffda.png

自定义单元格校验样式

目前系统默认的标注样式是将相关单元格的背景色设为红色。如果用户想换用别的标注方式,则可以在jsp中通过实现js函数接口来实现,接口定义如下:

function markInvalidCellUser(

cell, addMark ) {

//此处可添加用户程序代码

//参数说明:

//cell表示需要标注的单元格对象

//addMark数据类型为bool型,true表示要添加标注,false表示要清除标注

}

举例:

如需将单元格校验的相关单元格背景色设为蓝色,可在展现填报表的jsp中添加如下脚本:

function markInvalidCellUser(

cell, addMark ) {

//以下内容为用户自定义添加的程序代码

var oldbk = cell.getAttribute( "oldbk" );//oldbk用于记录单元格原来的背景色

if( addMark ) {//添加标记

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

cell.setAttribute( "oldbk", cell.style.backgroundColor );

cell.style.backgroundColor = "blue";//设置单元格背景色为蓝色

var table = _lookupTable( cell ); //找到当前编辑的单元格所在的table

if( table.currEditor != null && table.currEditor.editingCell

== cell ) {//cell是当前编辑单元格

_setEditorStyle(

table.currEditor, cell );//将修改后的单元格样式设置到当前编辑器里

}

}

else {//清除标记

if( oldbk != null ) {//判断是否有标记过

cell.style.backgroundColor

= oldbk;

cell.removeAttribute(

"oldbk" );

}

}

}

e966ee836fa52345ef0801ef6681539f.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值