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

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

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

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

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

2 ответа

Решение

Вы должны привести его к SPCalculatedField:

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

или же

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

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

var cf = list.Fields["calculatedfieldDisplayName"] as  SPFieldCalculated;
String value = cf.GetFieldValueAsText(item["calculatedfieldDisplayName"]);
Другие вопросы по тегам