首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> 關於.NET

Team System:工作項目追蹤 API 實戰——打造簡易工作項目總管

     編輯:關於.NET

目標

使用 Microsoft.TeamFoundation.WorkItemTracking.Client 組建簡易工作項目總管,示範核心操作:連線、查詢、檢視/編輯、建立新項目。

連線 WIT 儲存區

Imports Microsoft.TeamFoundation.WorkItemTracking.Client
' ...
m_tfsWIT = CType(m_tfs.GetService(GetType(WorkItemStore)), WorkItemStore)
mprj = mwis.Projects.Item(selectedTeamProjectName)

或用 DomainProjectPicker 類(Microsoft.TeamFoundation.Proxy)彈出 GUI 選擇伺服器與專案。

查詢與 WIQL

  • 動態 WIQL:mwis.Query("SELECT [System.Id] FROM WorkItems WHERE [System.TeamProject] = '...'")
  • 儲存查詢:mprj.StoredQueries,支援巨集 @project、@today。
  • 執行方式:WorkItemStore.Query(wiql, params) 或 StoredQuery.Query()。

WIQL 類 SQL,欄位名含空格需方括號(如 [System.Title]),參考名稱用完整名稱(如 System.Title)。

內建控件:重活交給框架

三大控件(Microsoft.TeamFoundation.WorkItemTracking.Controls.dll):

  • WorkItemResultGrid:資料網格顯示查詢結果。
  • PickWorkItemsControl:搜尋/選取工作項目(雙擊事件開啟編輯)。
  • WorkItemFormControl:完整編輯表單(欄位驗證、儲存/取消邏輯自行實作)。

編輯表單截圖:

WorkItemFormControl 編輯介面

儲存與取消邏輯

If wifCtl.Item.IsDirty AndAlso Not IsCanceled Then
    Select Case MessageBox.Show("儲存變更?", ...)
        Case Yes: e.Cancel = Not Save()
        Case No: If wifCtl.Item.IsDirty OrElse Not wifCtl.Item.IsValid Then wifCtl.Item.Reset()
        Case Cancel: e.Cancel = True
    End Select
End If

Function Save() As Boolean
    Dim badFields = wifCtl.Item.Validate()
    If Not wifCtl.Item.IsValid Then ' 顯示無效欄位 ' Return False
    wifCtl.Item.Save()
    If IsNewWI Then MessageBox.Show($"新 {wifCtl.Item.Type.Name} 已儲存,ID={wifCtl.Item.Id}")
    Return True
End Function

建立新工作項目

Dim wi As WorkItem = mprj.WorkItemTypes(selectedTypeName).NewWorkItem()
Using f As New frmAWorkItem(wi) : f.ShowDialog(Me) : End Using

總結

WIT 物件模型豐富,內建控件大幅降低 UI 開發成本。下一專欄將整合工作項目支援至 Word 增益集。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved