2

我想要一个 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>

这不起作用:(有什么想法吗?

4

2 回答 2

3

正如 Nat 所说,您暗示(但未指定)您正在使用日历列表中的重复事件,所以我假设这是不起作用的部分?

您需要在运行 CAML 查询之前设置SPQuery.ExpandRecurrancesandSPQuery.CalendarDate属性,并且您只能使用对象模型而不是 Web 服务或通过在 CAML 中设置属性来执行此操作。

此外 - IIRC 这只会扩展在同一日历月内发生的重复事件的实例,.CalendarDate因此您必须多次运行它才能获得多月视图。

这是迄今为止我发现的涵盖重复事件的最佳参考。

欢迎来到 SharePoint 中重复事件的噩梦!

于 2009-06-22T11:59:13.967 回答
1

循环实际上并没有将所有事件添加到列表中,但 CAML 只能从列表中存储的“实际”事件中查询。

于 2009-06-21T23:57:30.957 回答