指定欄位預設值
更新:2007 年 11 月
欄位預設值是用於控制自動指定欄位值之方式的規則。欄位預設值是經由使用下列三種項目來表示:<DEFAULT>、<COPY> 和 <SERVERDEFAULT>。
<DEFAULT>:當使用者建立新的工作項目,或編輯某個工作項目時,如果欄位是空白的,<DEFAULT> 項目就會填入某個欄位值。如果欄位已經填入某個值,就會忽略 default 規則
<COPY>:當使用者建立新的工作項目,或編輯某個工作項目時,不論欄位中是否已經填入任何現有值,<COPY> 項目都會填入某個欄位值
<SERVERDEFAULT>:不同於 <DEFAULT> 和 <COPY> 會在編輯一開始時就填入欄位值,<SERVERDEFAULT> 規則是在資料庫認可工作項目後填入欄位值。這是發生在儲存階段,使用者無法覆寫該欄位值。這種欄位會以唯讀狀態出現在表單上,而這個規則是用於像是 [上次變更者] 和 [上次變更時間] 這種欄位,以支援安全稽核記錄
這些標記都採用 from="<fromtype>" 屬性,以識別欄位值的來源。依據 <fromtype> 的不同而定,後面可能會跟隨其他屬性。
下列是有效的 from 型別值:
value:使用來自指定字串常數的值,必須具有 value="abc" 屬性。value 只適用於 <COPY> 和 <DEFAULT> 規則
field:使用來自指定欄位的值,必須具有 field="abc" 屬性。根據預設,如果指定的來源欄位是空白的,將不會發生任何改變。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"/>。 |