我创建了一个日历列表,并在列表中添加了几列。现在我想从日历列表中检索特定列表项的值。
列表名称 - >
日历
字段 - >
节目名称,开始日期,结束日期,辅导员,总座位等....
我想单独追溯“总座位”的价值。
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
}
}
答案 0 :(得分:3)
我想您想要从触发事件接收器的项目中读取 Total Seat 字段。您可以通过SPListItem
:
SPItemEventProperties
public override void ItemAdded(SPItemEventProperties properties)
{
int totalSeal = (int)properties.ListItem["Total Seat"];
// ...
}
答案 1 :(得分:1)
您是否使用过调试器? 参考你的第二条评论,我只是会做一点不同,因为我怀疑这会没有问题。但如果你以前的电话没有任何转换成功,那也应该是这样。 您需要确定的是此列存在。
int count = Convert.ToInt32(item["Total Seal"].ToString());
答案 2 :(得分:1)
虽然这个问题是几个月前...我已经解决了类似的问题,并得到了一个解决方案,我想在这里分享。在我的代码示例中,我将类型为数字的SPCalculatedField中的值提取到float变量中。我想你也可以用它来解决你的问题。变量项的类型为SPListItem。函数GetFormattedValue随SharePoint API一起提供。
float count;
bool success = float.TryParse(item.GetFormattedValue("Total Seat"), out count);