使用 WHEN、WHENNOT 和 WHENCHANGED 条件
来源:互联网 发布:ubuntu怎么创建文件夹 编辑:程序博客网 时间:2024/06/16 08:29
可以使用 WHEN、WHENNOT、WHENCHANGED 和 WHENNOTCHANGED 元素来定义按条件运行的规则。这些规则定义当所定义的子句为 True 时将运行哪些元素。例如,您可以创建相关选取列表以提供详细的安全性或自定义行为。下面是一个简单的 WHEN 子句示例:
<FIELD . . . >
<WHEN field="refname" value="yyy">
</FIELD>
此子句表示,只要字段 refname 具有值“yyy”,则此 FIELD 元素中的任何内容都将适用。该字段必须为有效的字段引用名称。有关更多信息,请参见字段引用名。
value 属性不区分大小写。所以,如果字段 refname 存储的值为“YYY”,则匹配将包括 value =“yyy”或“YYY”的所有项。
示例
相关选取列表
下面的示例演示一个相关选取列表,在该列表中 Problem Type 的允许值受 ProblemCharacteristic 的值的限制:
<FIELD refname="MyCorp.ProblemType" name="Problem Type" type="String"> <WHEN field="MyCorp.ProblemCharacteristic" value="Documentation"> <ALLOWEDVALUES> <LISTITEM value="Spelling Error" /> <LISTITEM value="Bad Format" /> <LISTITEM value="Missing Info" /> </ALLOWEDVALUES> </WHEN></FIELD>
必填字段
下面的示例演示了必填字段中的一个更改。在此情况中,当客户报告一个 Bug 时,必须输入客户严重级别。如果客户没有报告 Bug,则不需要输入客户严重级别。
WHEN
<WHEN>
示例
<FIELD refname="MyCorp.Severity" name="Customer Severity" type="String"> <ALLOWEDVALUES> <LISTITEM value="Blocking" /> <LISTITEM value="Major" /> <LISTITEM value="Minor" /> </ALLOWEDVALUES> <WHEN field="MyCorp.CustomerReported" value="true"> <REQUIRED /> </WHEN></FIELD>
条件 只要字段 Customer Reported 具有值且该值为 true,则此元素中的任何内容都将适用。
WHENNOT
<WHENNOT>
示例
<WHENNOT field="refname" value="yyy"></WHENNOT>
条件 只要字段 refname 具有值且该值不为 yyy,则此元素中的任何内容都将适用。
WHENCHANGED
<WHENCHANGED>
示例
<FIELD refname="MyCorp.StateDate" name="Date Of Last State Change" type="DateTime"> <WHENCHANGED field="MyCorp.State"> <COPY from="clock" /> </WHENCHANGED></FIELD><!-- Clear the status field whenever someone changes the state --><FIELD refname="MyCorp.Status" name="Status" type="String"> <WHENCHANGED field="MyCorp.State"> <COPY from="value" value=""> </WHENCHANGED></FIELD>
条件 当用户修改了字段 refname 时,此元素中的任何内容都将适用。
WHENNOTCHANGED
<WHENNOTCHANGED>
示例
<FIELD refname="MyCorp.StateDate" name="Date Of Last State Change" type="DateTime"><!-- Make the State field readonly when the StateDate field is not changed --> <WHENNOTCHANGED field="MyCorp.State"> <READONLY /> </WHENNOTCHANGED></FIELD>
条件 只要字段 refname 不更改,此元素中的任何内容都将适用。
- 使用 WHEN、WHENNOT 和 WHENCHANGED 条件
- 在查询条件中使用Case When
- SQLServer2008 在where条件中使用CASE WHEN
- 存储里case when用法和and 后加条件
- case when条件表达式
- select 中使用 case when 和 replace
- case when 批量条件处理
- oracle 条件控制 case when
- SQL Server和Access中的条件判断语法(case when和iff)
- mysql中使用case when 做where条件筛选表记录
- 在SQL的查询条件中使用case when取数据
- MySQL中使用case when 语句实现多条件查询的方法
- SQL/PLSQL:在where条件中写case when和decode
- case when ...when...when...when..else.. end 使用情况
- SQL Server和Oracle中case when then 的用法及when like 的使用
- 使用XPath的条件查询和多节点条件查询
- sql语句中的条件控制 case ..when.
- oracle case when then 条件判断
- 转贴: 如何成为产品经理
- Spring应用快速开发经典项目课程
- 猫游-记,妖魔-道类MUD服务器构架探讨1
- gimp使用内容感知填充处理图片
- 坦诚
- 使用 WHEN、WHENNOT 和 WHENCHANGED 条件
- [转]Android多媒体框架3月变化
- 大学生活之感想
- 了解 WS-Security
- js正则表达式限制文本框只能输入数字,小数点,英文字母,汉字等各类代码
- 兼容ie6,ie7,firefox的漂浮窗完美解决方案
- 从开发到测试
- 安装中文字体
- 智能PDA开发方案(嵌入式应用)-1