2012-01-24 79 views
0

私はカレンダーリストを作成しましたが、そのリストにはいくつかの列を追加しました。今、私はカレンダーリストから特定のリスト項目の値を取得したかったのです。 リスト名 - >
カレンダー フィールズ - > プログラム名は、日付、終了日、ファシリテーター、総座席などを開始します....SharePointでリストの値を取得する方法は?

私は "の値をretriveしたいと思いますトータルシート "のみ。

​​
+0

どのようにリストアイテムにアクセスしますか? C#サーバー側のコードまたはクライアントオブジェクトモデルを介して。 XSLT経由ですか? ... – Stefan

+0

私は追加されたevet recevierアイテムを作成しました。その中で私はリストアイテムの値にアクセスしたいと思います。ここにコードがあります。 – Jpaul

+0

名前空間CourseCount.EventReceiver1 {publicオーバーライドvoid ItemAdded(SPItemEventPropertiesプロパティ){base.ItemAdded(properties); SPSite oSiteCollection = SPContext.Current.Site; SPWeb myWeb = SPContext.Current.Web; SPList spList = myWeb.Lists ["カレンダー"]; SPListItemCollection spListItemCollection = spList.Items; SPListItem item = spListItemCollection.Add(); int count = item ["トータルシート"]; ** < - ここに私の疑い**です}} – Jpaul

答えて

3

あなたはイベントレシーバをトリガする項目から総座席フィールドを読みたいです。あなたはSPItemEventProperties経由SPListItemにアクセスすることができます。

public override void ItemAdded(SPItemEventProperties properties) 
{ 
    int totalSeal = (int)properties.ListItem["Total Seat"]; 
    // ... 
} 
+0

ステファンに助けてくれてありがとう。 – Jpaul

1

デバッガを使いましたか? 2番目のコメントを参照すると、これは問題なく動作するのではないかと疑いがあるので、ちょっと違うでしょう。しかし、あなたの前の呼び出しが変換せずに成功した場合は、これも同じでなければなりません。 決定する必要があるのは、この列が存在することです。私は推測

int count = Convert.ToInt32(item["Total Seal"].ToString()); 
1

質問はヶ月前ですが...私は右ここに共有したいという、同様の問題をステップオーバーし、解決策を得ました。私のコード例では、型番号のSPCalculatedFieldの値をfloat変数に抽出します。私はあなたもあなたの問題にこれを使うことができると思います。変数itemの型はSPListItemです。関数GetFormattedValueには、SharePoint APIが付属しています。

float count; 
bool success = float.TryParse(item.GetFormattedValue("Total Seat"), out count); 
関連する問題