2011-09-22 17 views
0

我正在嘗試檢索WorkItem(MS敏捷5模板)的有效原因的列表,該列表適用於新的工作項。TFS API - 爲什麼AllowedFieldValues的'Reasons'爲空?

但是,對於編輯現有工作項,AllowedValues總是爲空,無論狀態如何。

WorkItem item = GetItem(...) 
item.Fields["Reason"].AllowedValues.ToList() // always empty 

ToList是我自己的擴展方法)。

問題是,當您更改下拉列表中的狀態時,Visual Studio UI會正確更新「原因」列表。

原因字段也有IsLimitedToAllowedValues=false,但是當您輸入任意值時,它會抱怨它不是有效的列表項。

回答

1

我們還可以使用MS敏捷5 &名爲myWorkItem現有的工作項目的下列工作的罰款(我試圖與用戶故事&任務):

FieldDefinitionCollection fdc = myWorkItem.Type.FieldDefinitions; 
Console.WriteLine(myWorkItem.Type.Name); 
foreach (FieldDefinition fd in fdc) 
{ 
    if(fd.Name == "Reason") 
    { 
     AllowedValuesCollection avc = fd.AllowedValues; 
     foreach (string allowedValue in avc) 
     { 
     Console.WriteLine(allowedValue.ToString()); 
     } 
    }      
} 
+0

這是**所有領域**允許值雖然,不是針對特定的狀態(例如已解決)。我認爲這是一個錯誤,因爲'IsLimitedToAllowedValues'和'HasAllowedValuesList'都是錯誤的,但如果將原因設置爲「blah」則保存失敗 –