CAML Query - PullRequest
       14

CAML Query

2 голосов
/ 19 июня 2009

Я бы хотел получить запрос CAML для получения событий из списка календаря.

Я хочу получить все события, включая Сегодня, в ближайшие 30 дней.

Пока у меня есть:

<Where>
  <DateRangesOverlap>
    <Geq>
      <FieldRef Name=\"EventDate\" />
      <Value Type=\"DateTime\">
        <Today />
      </Value>
    </Geq>
    <FieldRef Name=\"EndDate\" />
    <FieldRef Name=\"RecurrenceID\" />
    <Value Type=\"DateTime\">
      <Month />
    </Value>
  </DateRangesOverlap>
</Where>

Это не работает :( Есть идеи?

Ответы [ 2 ]

3 голосов
/ 22 июня 2009

Как сказал Нат, вы намекаете (но не указываете), что вы используете повторяющиеся события в списке календаря, поэтому я предполагаю, что эта часть не работает?

Вам необходимо установить свойства SPQuery.ExpandRecurrances и SPQuery.CalendarDate перед выполнением запроса CAML, и вы можете сделать это только с помощью объектной модели, а не веб-служб или путем установки атрибута в CAML.

Далее - IIRC будет расширять только повторяющиеся события, происходящие в том же календарном месяце, что и .CalendarDate, поэтому вам придется запускать его несколько раз, чтобы получить многомесячное представление.

Это, безусловно, лучший справочник, охватывающий повторяющиеся события, которые я обнаружил.

Добро пожаловать в кошмар повторяющихся событий в SharePoint!

1 голос
/ 22 июня 2009

Повторение фактически не добавляет все события в список, но CAML может запрашивать только «реальные» события, хранящиеся в списке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...