2016-04-19 14 views
0

如果您查看在MS Outlook中的SharePoint日曆和更改Outlook中項目的顏色,在SharePoint ows_MetaInfo會從這種變化:修改ows_MetaInfo在Sharepoint使用C#

2362;#

這樣:

2362;#vti_encoding:SR|utf8-nl FollowUp:SW| vti_serverversion:SW|2 vti_versionhistory:SW|473e1c0c47cf034d9969c8513def1903:4 vti_clientversion:SW|4 BusyStatus:SW|2 Categories:SW|Red Category Priority:SW| IntendedBusyStatus:SW| vti_externalversion:IW|3

我有一個創建的SP日曆條目C#程序,但我希望能夠修改這一ows_MetaInfo分類屬性,這樣我可以用顏色代碼,這些項目使日在Outlook中查看此用戶的用戶將看到這些顏色代碼。

我已經搜索了我所能做的一切。我看到有人閱讀這個ows_MetaInfo數據,但沒有說明它如何改變。如前所述,我在C#中這樣做,我想更改ows_MetInfo類別屬性,以便Outlook用戶將看到顏色編碼的日曆條目。

任何幫助將大大受到讚賞!

+0

你好,我不認爲你需要修改ows_MetaInfo字段,但看看內容類型字段。國際海事組織有一個類別字段。更新這個與正確的類別應該足以調整着色(我認爲事件接收器將觸發,這將最終更新ows_MetaInfo – Verthosa

+0

我同意,有一個類別字段,但這不是'Categories :: SW | Red 「類別」存儲在Outlook中,用於確定顏色,我知道的原因是因爲我已經將類別字段設置爲其他內容,當您進入Outlook查看該項目時,它沒有着色。顏色的類別字段不會被覆蓋,但ows_MetaInfo更新。是否有一個可訪問的隱藏字段的某處存儲此信息? – Wizardre

回答

1

我一直在尋找相當一段時間來弄清楚這一點,我忽略了最明顯的答案...... :)我所要做的只是請求幫助,讓我終於找到答案!哈哈:D

MetaInfo只是另一個字符串字段。當您在Outlook中將顏色更改爲SharePoint附加日曆項目時,只需將文本添加到指定顏色以及其他一些默認項目的字段中。要改變顏色,你可以用cListItem["MetaInfo"] = "Categories:SW|Red Category\r\n";之類的東西來指定它,它只會改變分類字段,而不改變別人。

爲了完整起見,我將發佈我的整個測試示例。 (因爲我討厭它,當我找到問題的答案,但只有部分答案已發佈,讓我猜測代碼中的其他內容實際上是如何工作:))

這樣做是VS2013使用一個控制檯應用程序

using Microsoft.SharePoint.Client; 
using SP = Microsoft.SharePoint.Client; 
using System.Net; 

namespace SharePointSetMetaInfo 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 

      using (ClientContext context = new ClientContext("https://mySharePointServer/sites/MySite/")) 
      { 

       context.Credentials = new NetworkCredential("myUserName", "myPassword", "MYDOMAIN"); 
       SP.List calendarList = context.Web.Lists.GetByTitle("Calendar"); 
       ListItem cListItem = calendarList.GetItemById(2301);//This is one way to retrieve an item for update. You can also use a Caml Query 
       context.Load(cListItem); 
       cListItem["MetaInfo"] = "Categories:SW|Red Category\r\n"; 
       cListItem.Update(); 
       context.ExecuteQuery(); 
      } 
     } 
    } 
} 

希望這可以幫助其他人誰是試圖以編程方式更改在SharePoint日曆項的顏色,因爲他們在Outlook中顯示出來。這不適用於SharePoint日曆項目如何顯示在SharePoint中,僅適用於Outlook。

+0

有用,非常感謝! – Verthosa