В 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"]);