定义默认值或将值复制到字段
可以指定字段的默认值,也可以复制另一个字段的值或系统定义的值。字段默认值是控制如何自动指派字段值的规则。可以使用以下元素之一指派字段默认值:COPY、DEFAULT 和 SERVERDEFAULT。可以将这些元素指定为 FIELD(定义)元素或 FIELD(工作流)元素的子元素。
COPY 和 DEFAULT 元素在开始编辑时填写值,而 SERVERDEFAULT 规则在向数据库提交工作项时填写值。此操作在用户保存对工作项所做更改时发生,且用户无法重写该值。此类字段通常在工作项窗体中以只读形式出现。SERVERDEFAULT 规则用于“上次更改者”和“上次更改日期”等字段,以支持安全的审核记录。
主题内容
定义默认值的语法结构
定义默认值
自动清除字段
保存字段值
指定时钟作为默认值
定义默认值的语法结构
可以使用 COPY、DEFAULT 和 SERVERDEFAULT 元素将值从一个字段复制到另一个字段,将服务器值复制到字段,或者指定要为字段定义的默认值。
说明 |
---|
如果正在更改工作项,则 COPY 或 DEFAULT 元素规则可以选择源字段中的当前值或以前的值。 |
可以指定要从其他字段复制的值、时钟的值或当前用户的名称。如果为 from 特性指定 value 或 field,则必须指定 value 或 field 特性。用户更改或创建工作项时,无论字段中已存在何值,COPY 规则都会填写一个字段值。
<COPY for="userGroupName" not="userGroupName" from="value | field | clock | currentuser" value="valueToCopy" field="fieldReferenceName/>
可以使用 DEFAULT 规则为字段指定默认值。用户创建或编辑工作项时,如果该字段为空,则 DEFAULT 规则将填写一个值。可以指定要从其他字段复制的值、服务器时钟记录的日期/时间戳或当前用户的名称。如果字段已具有值,则忽略此规则。
<DEFAULT for="userGroupName" not="userGroupName" from="value | field | clock | currentuser" value="defaultValue" field="fieldReferenceName" />
保存工作项时,可以指定要从服务器复制到字段的值。用户更改工作项的状态时,SERVERDEFAULT 规则会指定要从服务器组件派生的值复制到当前字段的值。DEFAULT 和 COPY 元素在用户打开工作项进行修改时填写值,而 SERVERDEFAULT 规则是在向数据库提交工作项时填写值。此操作会在用户保存工作项时发生。用户不能重写该值。这些字段通常在窗体中以只读形式显示。SERVERDEFAULT 规则用于“上次更改者”和“上次更改日期”等字段,以支持安全的审核记录。
<SERVERDEFAULT for="userGroupName" not="userGroupName" from="clock | currentuser" />
这些规则元素中的每一个都指定标识值来源的 from="fromType" 特性。根据 fromType 值,可能需要其他特性。下表描述了 COPY, DEFAULT, and SERVERDEFAULT 规则元素引用的所有特性。
特性 |
说明 |
---|---|
for |
可选。指定 Team Foundation 中应用规则的用户或组的名称。有效名称是包含 1 至 255 个字符的文本字符串。 模式值:^[^\\]+\\[^\\]+$ 模式值示例:域\用户 ID |
not |
可选。指定 Team Foundation 中不应用规则的用户或组的名称。有效名称是包含 1 至 255 个字符的文本字符串。 模式值:^[^\\]+\\[^\\]+$ 模式值示例:域\用户 ID |
from |
必选。指定是从 value 特性、field 特性、系统时钟还是当前用户复制默认值。如果为 from 特性指定 value 或 field,则必须分别指定 value 或 field 特性。可以指定以下值:
|
value |
可选。为 from 特性指定 value 时,指定要复制到字段中的值。有效值是包含 1 至 255 个字符的文本字符串。 要复制的值可以为空。 |
field |
可选。为 from 特性指定 field 时,指定其值要复制到字段中的字段名称。如果 from 特性的值是“field”,则必须定义此特性。 要复制的字段的引用名称。该引用名称必须与 FIELD(定义)元素中定义的引用名称相匹配。有关更多信息,请参见 FIELD(定义)元素。 模式值:^[a-zA-Z_][a-zA-Z0-9_]*(\.[a-zA-Z0-9_]+)+$ 模式值示例:公司.部门.问题类型 |
返回页首
定义默认值
以下示例将 P3 设置为“Priority”字段的默认值。
<FIELD refname="MyCorp.Priority" name="Priority" type="String">
<HELPTEXT>Specify 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 name of the user who most recently 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"/> |
返回页首