簡體   English   中英

以編程方式修改FieldDefinitions

[英]Modify FieldDefinitions programmatically

當前,我們車間需要能夠以編程方式添加/修改/刪除WorkItemStore上的FieldDefinition,而無需/之前弄亂WorkItemType定義。 這可能嗎? 我知道我可以獲取項目中的所有字段並查看它們,但是添加新字段或修改現有字段呢? (刪除不那么重要)。

我過去兩天一直在搜索google,找不到我想要的東西...

現在,這就是我從服務器讀取所有字段的方式。

List<FieldDefinition> all_defs = new List<FieldDefinition>();
FieldDefinitionCollection defs = wis.FieldDefinitions;
foreach(FieldDefinition def in defs)
    all_defs.Add(def);

我能夠解決。 基本上,在代碼中,我能夠獲取服務器上的所有字段,創建需要添加或修改的所有字段,然后將一個WIT作為XML導出到單獨的字符串中。

從那里,我提取了需要比較的新字段,修改了需要修改的字段(在Xml中),將WIT的名稱(在Xml中)更改為一個臨時字段(例如:Missing_fields),然后修改了WIT Xml將新字段和修改后的字段都包含在Fields標簽中...

然后,我在剛剛創建的臨時WIT上使用了Import WIT方法。

然后,我刷新了API的連接緩存...(這確保API可以訪問新的WIT,因此我們可以刪除它)

然后,我使用DestroyWIT操作包從服務器銷毀了臨時的WIT,這實際上銷毀了WIT本身,但是沒有銷毀這些字段,因為這些字段是服務器上的一個單獨的實體,瞧! 您已經擁有一個FieldDefinition導入和修改工具。

我仍然無法刪除,但是還算不錯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM