SharePoint - получение значения вычисленного поля без ручного разбора
У меня есть вычисленное поле в списке с помощью этой формулы:
=CID & " - " & Title
При просмотре списка он может отображаться как: "2 - Big Meeting". Когда я беру значение из кода так:
myItem["CIDandTitle"]
значение возвращается как: "string; # 2 - BigMeeting". Есть ли "правильный" способ в sharepoint для извлечения значения или нужно просто разбить знак точки с запятой и фунтом?
Я использую MOSS2007.
Ответы
Ответ 1
Вы должны передать его в SPCalculatedField:
SPFieldCalculated cf = (SPFieldCalculated)myItem.Fields["CIDandTitle"];
string value = cf.GetFieldValueForEdit(myItem["CIDandTitle"]);
или
string value = cf.GetFieldValueAsText(myItem["CIDandTitle"]);
Ответ 2
Ответ @Nathan не указывает, что вам нужно предоставить отображаемое имя поля. Он не будет работать с internalName. Более того, я, скорее всего, буду использовать, чтобы отличить результат.
var cf = list.Fields["calculatedfieldDisplayName"] as SPFieldCalculated;
String value = cf.GetFieldValueAsText(item["calculatedfieldDisplayName"]);