AppQuicker

快速搭建应用系统教程

  • 首页
  • 教程
  • 疑难解答
  • 关于AppQuicker

#11 人员档案——能录入数据的卡片式单据

本章我们将设计一个人员档案卡片,主要涉及到如下的知识点:

Ð 填报风格

Ð 数据校验

Ð 填报保存

这一章将要介绍填报技术,也有一部分是对前面章节的复习,我会对一些重要的细节给以提示说明,如果你发现有的内容难以理解,请对照插入语,注意到了吗?等提示内容,你会在其中找到答案。

第一步:创建填报表

点击s1,新建一张空白报表。

调整报表成如下图结构:

image120

【属性_报表属性_常规】,选择填报类型为可以填报。

选择B2,右键菜单?填报属性,在呈现的数据填报窗口中,勾选是否可写,同样的操作,设置B3,B4,B5,B6,B7,B8,B9,D4都为可写单元格。

在B5的数据填报窗口中,选择填报数据类型为日期型。

插入语 此处的日期型与数据库employee表中birthday字段的datetime类型相对应。

【配置_数据集】,选择增加,创建dept表的SQL检索数据集。点击增加,创建复杂SQL类型数据集,在呈现的SQL编辑区域输入SQL如下:

SELECT max(empid) as maxid FROM employee

注意到了吗?语句使用了检索人员编号最大值的SQL函数MAX(),这样,每次打开人员档案表时人员编号都是自动计算出的最大值。Cast函数是数据类型转换函数。

选择B4,右键菜单?填报属性,设定编辑风格为下拉数据集,点击设置,数据集选择ds1,显示列为deptname,数据列deptid,点击确定。

选中B2,属性â值â表达式,双击左键,打开表达式编辑,输入如下内容:

if(ds2.maxid==null,1,int(ds2.maxid)+1)

表达式提示 如果查询出来的人员编号最大值是空值(人员表中没有数据),这时设定B2的值为1,否则,B2值等于人员编号最大值加1。由于ds2数据集查询出的记录只有一条,所以只要使用ds2.maxid就可以取到该记录的maxid值。

选择A2,右键菜单?填报属性,切换到更新TAB页,点击增加.

image121

做如下设置:

数据源:appquicker,模式:dbo,更新表:employee

点击列表右侧的增加,新增分录如下:

SNAG-0009

点击确定。

将表保存为employee.raq

在数据中心控制台,发布人员档案,在报表发布的根目录下,新建一分类夹字典维护,将人员档案发布为它的下级节点。

登录数据中心首页,选择人员档案节点

image123

输入数据,点击s1保存,看到数据已保存的提示了吗?

检查一下,页面上的人员编号是否自动填写最大编号?部门的下拉数据集是否正常?

第二步:增加数据校验

保存数据之前,需要对提交的数据进行校验检查,比如,需要核实人员名称是否填写,出生日期的格式是否正确,电话号码里是否出现非数字的字符等。

下面为人员档案表增加上述数据校验……

选择A2 ,右键菜单? 填报属性? 校验TAB 页,点击增加,表达式中输入:

B3.toString() != “” ,出错提示:请输入人员名称!,非立即校验,点击确定。

选择B7 ,右键菜单? 填报属性? 校验TAB 页,点击增加,表达式中输入:

B7.match(/^\d+$/) ,出错提示:电话号码只能输入数字! ,勾选立即校验。

保存 上述修改。

立即校验与非立即校验的区别?

定义了立即校验的单元格在失去焦点之后调用校验事件,非立即校验是在提交表单数据时调用校验程序。我们设定的表达式是校验的依据。需要注意,立即校验必须放在指定的单元格进行定义,而非立即校验可以放在任何位置定义。例如:名称的校验是非立即校验,可以把它放在A2的填报校验里,电话号码是立即校验,必须在B7单元格上定义校验。如果定义在其它单元格,系统把B7的立即校验按照非立即校验进行处理。

B7.match(/^\d+$/)是什么意思?

电话号码的校验表达式中使用了正则表达式,语句中^\d+$的部分就是正则表达式,它的意义是字符串匹配一个或更多的连续数字(即该字符串只能由数字组成),这是广泛使用在数据校验方面的技术,关于正则表达式的知识请参见专业书籍。

推荐:微软的正则表达式介绍

http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/jscript7/html/jsreconintroductiontoregularexpressions.asp

注意到了吗?

当录入不合理的出生日期时,系统会提示请输入有效的日期!,这是由于我们定义B5的数据填报类型为日期型,系统为该单元格自动加入的合法性校验。

现在你可以登录数据中心首页,选择人员档案节点,查看一下刚才加入的校验是不是起到预期的作用。

卡片式上传数据在现实应用中使用的频率较高,你或许见过出纳编写的财务凭证,人力资源拿出的档案表格,库管每天都经手的出入库单据……,这些都是实际应用的卡片式表。

本章介绍了卡片式填报表的制作过程,现在你已经知道如何定义下拉数据集和设置日期类型,如何定义更新字段的对应,怎样设置数据校验。下一章我们开始学习行式填报,上面提到的知识很快会再次用到。


教程 |2007/11/07
#12 人员档案——可以增删改数据的列表 #10 带查询参数的人员列表——宏的作用

Comments are closed.


  • 询问问题

  • 关于AppQuicker

    • 认识APPQUICKER
    • AppQuicker适用于哪些企业
    • APPQUICKER的开发模式
    • 为什么可以快速开发
    • 打造企业级系统的优势

AppQuicker © 2007 All Rights Reserved.