如何在SharePoint中获取列表的值

本文关键字:列表 获取 SharePoint | 更新日期: 2023-09-27 18:21:09

我创建了一个日历列表,并在该列表中添加了几列。现在我想从日历列表中检索一个特定列表项的值。列表名称-->
日历字段-->课程名称、开始日期、结束日期、主持人、总座位等…

我想单独检索"总座位"的值。

namespace CourseCount.EventReceiver1 
{ 
  public override void ItemAdded(SPItemEventProperties properties) 
  { 
    base.ItemAdded(properties); 
    SPSite oSiteCollection = SPContext.Current.Site; 
    SPWeb myWeb = SPContext.Current.Web; 
    SPList spList = myWeb.Lists["Calendar"]; 
    SPListItemCollection spListItemCollection = spList.Items;
    SPListItem item = spListItemCollection.Add(); 
    int count = item["Total Seat"]; // <-here is my doubt 
  } 
} 

如何在SharePoint中获取列表的值

我想您想从触发事件接收器的项目中读取Total Seat字段。您可以通过SPItemEventProperties:访问SPListItem

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

调试程序完成了吗?关于你的第二条评论,我只是想做一点不同,因为我怀疑这是否会毫无问题地奏效。但是,如果您以前的通话在没有任何转换的情况下成功,那么这次也应该成功。您需要确定的是该列是否存在。

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

尽管这个问题是几个月前的事了。。。我解决了一个类似的问题,得到了一个解决方案,我想在这里分享。在我的代码示例中,我将数字类型的SPCalculatedField中的值提取到一个浮点变量中。我想你也可以用这个来解决你的问题。变量项的类型为SPListItem。函数GetFormattedValue随SharePoint API一起提供。

float count;
bool success = float.TryParse(item.GetFormattedValue("Total Seat"), out count);