起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7238|回复: 9

Data之规则介绍

  [复制链接]

1

主题

113

帖子

209

积分

内部用户

积分
209
QQ
发表于 2014-4-8 14:55:49 | 显示全部楼层 |阅读模式
本帖最后由 hery 于 2014-4-9 16:42 编辑

规则总结:
规则主要是针对data类型组件中的关系和概念,可以对这些关系进行约束限制。主要包括只读规则,必填规则,计算规则,可见性规则,约束规则,默认值规则,通用data的type规则。下面将进行详细介绍。

一、必填规则(可以规定某个关系必须填写,若不填写,则会根据alert后的提醒内容提示用户)
  1右击data类型的组件,点击编辑规则,进入添加规则对话框,选择要添加的关系。如图:

  2点击required后面的按钮,打开属性编辑对话框,在XPath函数区选择true()函数
  3在alert后面填写提示信息
  4运行效果如果
t1.jpg
t2.jpg
t3.jpg
t4.jpg

1

主题

113

帖子

209

积分

内部用户

积分
209
QQ
 楼主| 发表于 2014-4-8 15:45:17 | 显示全部楼层
本帖最后由 hery 于 2014-4-10 09:03 编辑

二约束规则,可以通过表达式来对某些关系进行约束,例如年龄必须是大于等于0且小于等于120之间的数值
1、右击data类型的组件,点击编辑规则,进入添加规则对话框,选择要添加的年龄关系
2、点击constraint后的按钮,打开属性编辑对话框,输入约束的条件
3、在alert 后面输入提醒的信息
4、效果图如下:
t1.jpg
t2.jpg
t3.jpg
t4.jpg

1

主题

113

帖子

209

积分

内部用户

积分
209
QQ
 楼主| 发表于 2014-4-8 15:50:10 | 显示全部楼层
本帖最后由 hery 于 2014-4-10 09:42 编辑

三、只读规则,可以设置某一个关系的只读和整条记录的只读
关系的只读
1、右击data类组件,点击编辑规则,打开添加规则对话框,添加要设置只读的关系
2、只需要在readonly后面的属性值返回true()即可

记录的只读
1、右击data类组件,点击编辑规则,打开添加规则对话框,选择概念
2、在readonly后面的属性值返回true(),这个时候所以的记录都是只读的


补充说明:

   1、 只要设置了概念的只读为true(),则所有的关系都为只读,不论这些关系是否设置只读规则。
   2、属性值的返回最简单是直接返回true()函数,也可以返回比较复杂的逻辑值表达式,如图p1

设置关系的只读

设置关系的只读

选择概念

选择概念

设置概念只读

设置概念只读

复杂条件

复杂条件

1

主题

113

帖子

209

积分

内部用户

积分
209
QQ
 楼主| 发表于 2014-4-8 16:15:31 | 显示全部楼层
本帖最后由 hery 于 2014-4-9 16:31 编辑

四、计算规则。(例如:通过出生日期自动填写年龄)
1、右击data类型的组件,点击编辑规则,进入添加规则对话框,选择要添加的年龄关系
2、点击calculate后面的按钮,打开属性编辑对话框,设置编辑区的表达式
3、效果如下:


补充说明:
如果用grid显示数据,那么只会计算当前行,建议在加载data组件数据时使用sql进行计算,界面上的计算用于加载后的修改
1.jpg
2.jpg

1

主题

113

帖子

209

积分

内部用户

积分
209
QQ
 楼主| 发表于 2014-4-8 16:21:35 | 显示全部楼层
本帖最后由 hery 于 2014-4-10 10:18 编辑

五、规则之新增默认值
1、右击data类型的组件,点击编辑规则,进入添加规则对话框,选择要添加的专业关系
2、在default-value后面输入默认值
3、运行效果如下


默认值优先级
1、在biz的概念中给专业这个关系设置默认值,
2、给data组件的专业这个关系添加默认值的规则,
3,效果如下

说明:规则里的默认值会覆盖概念中给关系设置的默认值。如果这里使用表达式,只可以使用biz层的表达式,见图z0到z3
t1.jpg
t2.jpg
t3.jpg

优先级图一

优先级图一

优先级图二

优先级图二

优先级图三

优先级图三
z0.jpg
z1.jpg
z2.jpg
z3.jpg

1

主题

113

帖子

209

积分

内部用户

积分
209
QQ
 楼主| 发表于 2014-4-8 16:46:07 | 显示全部楼层
本帖最后由 hery 于 2014-4-10 10:01 编辑

六、规则之可见性(需求:根据性别的男和女,来决定是否显示打开对话框的按钮)
1、右击data类型的组件,点击编辑规则,进入添加规则对话框,选择要添加的性别关系
2、点击relevant后面的按钮,进入编辑区,编辑条件
3、运行效果图

补充:一般更加合理的是让一个按钮是否可用,来设置他的readonly如图p1,p2,p3
t1.jpg
t2.jpg
t3.jpg
p1.jpg
p2.jpg
p3.jpg

1

主题

113

帖子

209

积分

内部用户

积分
209
QQ
 楼主| 发表于 2014-4-9 09:23:58 | 显示全部楼层
七、规则之alert设置
alert只能设置一个,如果同时设置了约束及必填,不能写两个alert,只能在alert属性中把提示写完整了

1

主题

113

帖子

209

积分

内部用户

积分
209
QQ
 楼主| 发表于 2014-4-9 09:49:20 | 显示全部楼层
本帖最后由 hery 于 2014-4-10 10:04 编辑

八、通用数据data的type规则
1、添加data组件,并添加列date和integer
2、右击data组件,添加关系,选择date关系
3、设置type的类型
4、运行效果如图
t1.jpg
t2.jpg
t3.jpg

1

主题

113

帖子

209

积分

内部用户

积分
209
QQ
 楼主| 发表于 2014-4-9 14:40:22 | 显示全部楼层
本帖最后由 hery 于 2014-4-9 16:49 编辑

十、规则之call调用js函数(事例根据年龄的值来判断是否为00后)
1、给info关系添加一个规则
2、在计算规则中调用函数
3、编写函数

补充:在call里面当前行的数据不用作为参数
t1.jpg
t2.jpg
t3.jpg

12

主题

109

帖子

787

积分

高级会员

Rank: 4

积分
787
QQ
发表于 2014-4-11 11:25:12 | 显示全部楼层
基本规则都用过,少数规则没用到过,学习了
高级模式
B Color Image Link Quote Code Smilies

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-4 05:44 , Processed in 0.070320 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表