指定字段默认值

更新: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"/>

请参见

其他资源

定义字段列表