В SharePoint - получить значение вычисляемого поля без ручного парсинга

у меня есть вычисляемое поле в списке с помощью этой формулы:
=CID & " - " & Title

при просмотре списка он может отображаться как: "2-большая встреча". Когда я хватаю значение из кода, например:
myItem["CIDandTitle"]

значение возвращается как: "string;#2-BigMeeting". Есть ли "правильный" способ в sharepoint для извлечения значения или я должен просто разделить на точку с запятой и знак фунта?

Я использую MOSS2007.

2 ответов


вы должны бросить его в SPCalculatedField:

SPFieldCalculated cf = (SPFieldCalculated)myItem.Fields["CIDandTitle"];
string value = cf.GetFieldValueForEdit(myItem["CIDandTitle"]);

или

string value = cf.GetFieldValueAsText(myItem["CIDandTitle"]);

в ответе @Nathan не указывается, что необходимо указать отображаемое имя поля. Он не будет работать с internalName. Более того, я, скорее всего, использую as для приведения результата.

var cf = list.Fields["calculatedfieldDisplayName"] as  SPFieldCalculated;
String value = cf.GetFieldValueAsText(item["calculatedfieldDisplayName"]);