我想要一个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>
这不起作用:(任何想法?
答案 0 :(得分:3)
正如Nat已经说过你暗示(但没有指明)你在日历列表中使用重复事件所以我假设那部分不起作用?
您需要在运行CAML查询之前设置SPQuery.ExpandRecurrances
和SPQuery.CalendarDate
属性,并且只能使用对象模型,而不是Web服务或通过在CAML中设置属性来执行此操作。 / p>
此外 - IIRC这只会扩展在与.CalendarDate
相同的日历月中发生的重复事件的实例,因此您必须多次运行才能获得多月视图。
这是迄今为止我发现的经常性事件的最佳参考资料。
欢迎来到SharePoint中反复出现的事件的噩梦!
答案 1 :(得分:1)
重复实际上并不会将所有事件添加到列表中,但CAML只能查询存储在列表中的“实际”事件。