SharePoint - get value of calculated field without manual parsing

Chloraphil picture Chloraphil · May 22, 2009 · Viewed 19.1k times · Source

I have a calculated field in a list with this formula:
=CID & " - " & Title

When viewing the list, it might display as: "2 - Big Meeting". When I grab the value from code like so:
myItem["CIDandTitle"]

the value comes back as: "string;#2 - BigMeeting". Is there a "correct" way in sharepoint to extract the value or should i simply split on the semicolon and pound sign?

I am using MOSS2007.

Answer

Nathan DeWitt picture Nathan DeWitt · May 22, 2009

You have to cast it to an SPCalculatedField:

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

or

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