共用方式為


評估規則的方式

在欄位上套用多個規則時,您可以獲得規則評估方式的一些概念。 規則評估方式不具有完全決定性。 本節將說明使用 <WHEN*>、<DEFAULT> 和 <COPY> 規則時,會有什麼預期的行為與互動。

下列步驟以正確的順序示範 Team Foundation Server 和工作項目表單的使用者所進行的互動, 使用者所進行的互動只有步驟 1、8 和 13。

  1. 使用者透過 Visual Studio 使用者介面,建立新的工作項目或是編輯現有的工作項目。

  2. 填入欄位預設值。 針對所有欄位,使用 <WHEN*> 規則外的 <DEFAULT> 規則。

  3. 複製欄位值。 針對所有欄位,使用 <WHEN*> 子句外的任何 <COPY> 規則。

  4. 針對具有相符之 <WHEN> 規則的所有欄位,首先執行 <DEFAULT> 然後執行內部的 <COPY> 規則。

  5. 針對具有相符之 <WHENNOT> 規則的所有欄位,首先執行 <DEFAULT> 然後執行內部的 <COPY> 規則。

    注意事項注意事項

    Team Foundation Server 一定會先處理 <WHEN> 規則,然後才處理 <WHENNOT> 規則。

  6. 針對在步驟 1 之後變更了值以及包含 <WHENCHANGED> 規則的所有欄位,首先執行 <DEFAULT> 然後執行內部的 <COPY> 規則。

  7. 允許使用者開始進行編輯。

  8. 使用者變更某個欄位值,然後從該欄位移開焦點。

  9. 針對該欄位引發任何符合新值的 <WHEN> 規則。

  10. 針對該欄位引發任何符合新值的 <WHENNOT> 規則。

  11. 針對該欄位引發任何符合新值的 <WHENCHANGED> 規則。

  12. 讓使用者再度能夠進行編輯。

  13. 使用者將變更儲存至資料庫。

  14. 針對所有欄位,直接或間接在 <WHEN> 或 <WHENNOT> 規則下,執行為欄位所定義的 <SERVERDEFAULT> 作業。

按鍵的處理

當使用者使用圖形化使用者介面來修改工作項目表單時,每次在欄位輸入按鍵時就會設定新的值。 這表示只要符合 <WHEN*> 規則的必要條件,該規則就會執行,即使這可能不符使用者原意。

在下面的 XML 範例中,當您在 Status 欄位中輸入 "Approved Again" 時,就會清空 SubStatus,因為雖然使用者最終並不是要輸入 "Approve",但只要使用者一輸入 Approved 中的 "e" 這個字母時,就會執行 <WHEN*> 規則。 因此,使用條件式規則時必須特別注意。

<FIELD refname="MyCorp.SubStatus" />
<WHEN field="MyCorp.Status" value="Approve" >
<EMPTY />
</WHEN>
</FIELD>

請參閱

概念

所有 FIELD XML 項目參考

指派以條件為基礎的值和規則