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

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

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

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

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

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

添加单元格校验

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

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

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

自定义单元格校验样式

目前系统默认的标注样式是将相关单元格的背景色设为红色。如果用户想换用别的标注方式,则可以在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" );

}

}

}

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

  1. mysql表名怎么拼接_自学MySQL第九天

    接下来就要开始学习如何创建一个结构良好的数据库. 首先是DATA MODELLING,有四个过程. 1. Understand the requirements 要理解好工作需求才能做出好的数据库. ...

  2. php mysql表单验证登录_使用PHP和MySql简单身份验证 1

    内容来源于<PHP和MySql Web开发> 简单的访问控制: 首先创建一个简单的登陆界面 直接上完整代码 $name = $_POST['name']; $password = $_PO ...

  3. mysql 表 区 块 页_数据库 | 001-MySQL梳理系列(一)

    MySQL基本组成 SQL执行流程 Server 层主要包括连接器.查询缓存.分析器.优化器.执行器,包含了MySQL主要的很多核心功能,以及所有的内置函数.存储过程.触发器.视图等,其实就是所有跨存 ...

  4. mysql表损坏自动修复工具_对MySQL数据表(已损坏)的修复

    以下的文章主要讲述的是如何正确修复已损坏的MySQL数据表,主要是了两种方法,一种是check table与 repair table ,一种是通过myisamchk, isamchk ,于断电或非正 ...

  5. mysql 表迁移 并筛选_使用perl实现拆分数据表(mysql)并迁移数据实例

    随着业务量的增长,可能需要对表进行拆分来提高性能. 下面这个例子是将www.jb51.net的users表拆分成10个表ttlsa_user_0-ttlsa_user_9. 拆分迁移数据程序如下所示: ...

  6. 数据库mysql表常见字段大小_常用的数据库的字段类型及大小

    Oracle/MSSQL/Mysql 常用数据库的字段类型及大小 ORACLE的数据类型 常用的数据库字段类型如下: 字段类型 中文说明 限制条件 其它说明 CHAR 固定长度字符串 最大长度2000 ...

  7. mysql表名不区分大小写_设置mysql表名不区分大小写

    查看mysql版本: [root@localhost logs]# mysql -V mysql Ver14.14 Distrib 5.6.37, for linux-glibc2.12 (x86_6 ...

  8. jpa遇到mysql表名大写怎么办_解决(springboot项目)mysql表名大写,造成jpa Table doesn't exist问题...

    一般实体类中的属性, 如contentType会被hibernate默认映射为content_type,如果数据库中的字段是contenttype则会不匹配 这个问题有2种解决方法: 我的报错是: j ...

  9. mysql表导出csv空值_从mysql中导出csv格式的数据

    ===================从数据库中取数据导出到execl文档中===================== 连接数据库:mysql -h x.x.x.x -u ceshi -plianxi ...

最新文章

  1. Linux Performance
  2. wince车机可以连接电脑吗_想在WinCE车机上运行凯立德实时路况版吗?那就进来看看,让你一键傻瓜式联网...
  3. mysql删除数据表show_简单的连接、删除数据库和show命令
  4. VBS的疑惑,它们不考虑效率吗?
  5. UML类图的6大关系
  6. 在哪开启oracle服务器,开启企业殿堂的钥匙 Oracle服务器的安装
  7. linux编程两个子进程,Linux中fork同时创建多个子进程的方法
  8. oracle 经纬度算距离,根据经纬度诀别用java和Oracle存储过程计算两点距离
  9. 后会终无期,且行且珍惜
  10. javascript 理解对象--- 定义多个属性和读取属性的特性
  11. PS更换证件照背景颜色
  12. CentOS7 安装Samba
  13. 使用GetPixel要注意
  14. 加州大学圣地亚哥分校计算机科学排名,2020年加州大学圣地亚哥分校排名TFE Times美国最佳计算机科学硕士专业排名第17...
  15. mysql8 vs postgresql_“王者对战”之 MySQL 8 vs PostgreSQL 10
  16. 如何调用EasyCVR平台的登录、播放地址、录像回看接口?
  17. 怎么使用PS一键抠图?
  18. 如何在1到N个人当中找出明星?
  19. htc a620d 刷android,千元WP8双核智能机 HTC 8S电信版评测
  20. 我的世界java额外参数_我的世界超平坦自定义部分参数

热门文章

  1. 【正在直播】:CSDN直播间专属福利!1399买Airpods Pro
  2. 如何简单粗暴地上手 TensorFlow 2.0?
  3. Python 爬取 620 首虾米歌曲,揭秘五月天为什么狂吸粉?!
  4. 阿里要拆分“大中台”模式?王欣马桶 MT 更名“好记”;苹果支付高通 47 亿美元和解金 | 极客头条...
  5. 微软 Chromium Edge 禁用 Google?
  6. @程序员,沟通这项核心技能你掌握了多少?
  7. 吃亏的程序员,如何拿到 9 个月的年终奖?
  8. 腾讯状告前工程师开发游戏抄袭《王者荣耀》,赔偿 1940 万元!
  9. 赶在 2018 年前推荐 30 个最火爆的开源库
  10. 脑瘫男孩17岁考上大学,毕业在家工作每月7500,成为公司骨干