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