指定字段默认值
更新:2007 年 11 月
字段默认值是用于控制自动指派字段值的方式的规则。字段默认值使用三种类型的元素来表示:<DEFAULT>、<COPY> 和 <SERVERDEFAULT>。
**<DEFAULT> **用户创建新的工作项或编辑工作项时,如果字段为空,<DEFAULT> 元素将填写一个字段值。如果字段已具有值,则忽略默认规则。
<COPY> 用户创建新的工作项或编辑工作项时,无论字段中是否已存在任何值,<COPY> 元素都会填写一个字段值。
<SERVERDEFAULT> 与 <DEFAULT> 和 <COPY> 在开始编辑时填写值的不同,<SERVERDEFAULT> 规则在向数据库提交工作项时填写值。此操作发生在保存时,且用户无法重写该值。此类字段在窗体中以只读的形式显示。此规则用于“上次更改者”和“上次更改日期”等字段,以支持安全的审核记录。
所有这些标记都采用一个 from="<fromtype>" 属性来标识值的源。根据 <fromtype> 的不同,后面也可以跟随其他属性。
以下是有效的 from 类型的值:
value 使用指定的字符串常量中的值。需要一个 value="abc" 属性。value 仅用于 <COPY> 和 <DEFAULT> 规则。
field 使用指定字段中的值。需要一个 field="abc" 属性。默认情况下,如果指定的“from”字段为空,则不执行任何操作。field 仅用于 <COPY> 和 <DEFAULT> 规则。
clock 使用当前的日期和时间作为值。不需要其他属性。用于 DateTime 类型的字段。对于 <COPY> 和 <DEFAULT> 规则,此值取自本地计算机时钟时间。对于 <SERVERDEFAULT>,此值来自提交时的服务器时钟时间。
currentuser 使用当前用户的缩写用户名作为值。不需要其他属性。用于字符串字段。
示例
在下面的示例中,指定了一个默认优先级别:
<FIELD refname="MyCorp.Priority" name="Priority" type="String">
<HELPTEXT>Enter the severity of the problem</HELPTEXT>
<ALLOWEDVALUES>
<LISTITEM value="P1"/>
<LISTITEM value="P2"/>
<LISTITEM value="P3"/>
</ALLOWEDVALUES>
<DEFAULT from="value" value="P3"/>
</FIELD>
在下面的示例中,清除状态字段:
<FIELD refname="MyCorp.Status" name="Status" type="String">
<COPY from="value" value="" />
</FIELD>
在下面的示例中,保存上次更改工作项的人员的用户名:
<FIELD refname="System.Last Changed By" name="Last Changed By" type="String">
<HELPTEXT>The user name of the person who last modified this bug</HELPTEXT>
<VALIDUSER group="[Project]\MyProjectMembers" />
<SERVERDEFAULT from="currentuser" />
</FIELD>
在下面的示例中,字段的值使用当前的日期,但用户可以更改该值:
<FIELD refname="MyCorp.FoundOn" name="Found On" type="DateTime">
<HELPTEXT>Defines when a bug was found.</HELPTEXT>
<DEFAULT from="clock" />
</FIELD>
说明: |
---|
对于包含撇号的值(例如“Won’t Fix”),必须在 XML 中使用双引号。例如:<LISTITEM value="Won’t Fix"/> |