2009-05-22 7 views
10

ずに計算フィールドの値を取得する:
=CID & " - " & TitleSharePointのは、この式のリストに私は計算フィールドを持って手動解析

リストを表示し、それはのように表示されることがあります:「2 - ビッグ会議」。私はそうのようなコードから値を取得する場合:「; - BigMeeting#2文字列」:
myItem["CIDandTitle"]

値として戻ってきます。値を抽出するためにsharepointに「正しい」方法があるのですか、または単にセミコロンとポンド記号で分割する必要がありますか?

私はMOSS2007を使用しています。

答えて

13

あなたはSPCalculatedFieldにキャストする必要があります。

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

または

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

これは機能します。 cf.GetFieldValueAsText(myItem ["CIDandTitle"])も同様です。しかし、このアプローチは厄介なようだ。 – Chloraphil

+0

セミコロンとハッシュを分割するよりも厄介ではありません... –

+4

私はこのように浮動小数点を取得しようとする問題がありました。私はmyItem.GetFormattedValue( "floatValue")を使用しました。 – bryanbcook

0

@Nathanによって与えられた答えはあなたがフィールドの表示名を提供する必要があることを指定していません。 internalNameで動作しません。さらに、として使用して結果をキャストする可能性があります。

var cf = list.Fields["calculatedfieldDisplayName"] as SPFieldCalculated; 
String value = cf.GetFieldValueAsText(item["calculatedfieldDisplayName"]); 
関連する問題