Как получить значение списка в SharePoint? - PullRequest
0 голосов
/ 24 января 2012

Я создал список календаря и добавил несколько столбцов в этот список.Теперь я хотел получить значение определенного элемента списка из списка календаря. Имя списка ->
Календарь Поля -> Имя программы, Дата начала, Дата окончания, Фасилитатор, Общее количество мест и т. Д ....

Я хотел бы восстановить ценность "Всего места" в одиночку.

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 
  } 
} 

Ответы [ 3 ]

3 голосов
/ 24 января 2012

Полагаю, вы хотите прочитать поле Total Seat из элемента, запускающего приемник событий.Вы можете получить доступ к SPListItem через SPItemEventProperties:

public override void ItemAdded(SPItemEventProperties properties)
{
  int totalSeal = (int)properties.ListItem["Total Seat"];
  // ...
}
1 голос
/ 06 июня 2012

Хотя вопрос уже несколько месяцев назад ... Я перешагнул через аналогичную проблему и нашел решение, которым хочу поделиться прямо здесь. В моем примере кода я извлекаю значение из SPCalculatedField типа number в переменную типа float. Я думаю, вы могли бы использовать это и для вашей проблемы Элемент переменной имеет тип SPListItem. Функция GetFormattedValue поставляется с API-интерфейсом SharePoint.

float count;
bool success = float.TryParse(item.GetFormattedValue("Total Seat"), out count);
1 голос
/ 24 января 2012

Вы прошли через отладчик? Ссылаясь на ваш второй комментарий, я бы сделал это немного иначе, потому что сомневаюсь, что это будет работать без проблем. Но если ваши предыдущие звонки были успешными без какого-либо преобразования, это должно быть тоже. Вы должны определить, что этот столбец существует.

int count = Convert.ToInt32(item["Total Seal"].ToString());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...