我一直在阅读这篇 msdn 帖子:http: //msdn.microsoft.com/en-us/library/aa981241.aspx
尝试编辑内容查询 Web 部件以仅显示事件列表中在 30 天内发生或在 30 天内再次发生的项目。处理不再发生的事件很简单,因为我可以将 [开始日期] 与 [今天]+30 与修改此共享 Web 部件配置进行比较,但对于重复发生的事件,似乎 [开始日期] 和 [结束日期] 描述重复事件发生的时间段,我不知道该怎么做才能确定事件最快即将再次发生。cqwp 只需要三个过滤器项,因此我无法在不覆盖查询的情况下同时处理重复项和单次出现项。
我认为我需要用于重复出现的字段是其中之一:msdn-microsoft-com/en-us/library/microsoft.sharepoint.spfieldrecurrence_members.aspx 但它们似乎都不合适。
您如何处理“每月的第四天”重复 msdn-microsoft-com/en-us/library/microsoft.sharepoint.weekofmonth.aspx
基本上,您如何覆盖查询以过滤重复发生的事件和单次发生的事件以仅显示一周内发生的事件?
我已将以下代码添加到 CQWP .webpart 文件中:
<Where>
<Or>
<And>
<Neq>
<FieldRef Name="FRecurrence"/>
<Value Type="Recurrance">1</Value>
</Neq>
<And>
<Lt>
<FieldRef Name="EventDate" Type="DateTime"/>
<Value Type="DateTime"><Today OffsetDays="30"/></Value>
</Lt>
<Gt>
<FieldRef Name="EventDate" Type="DateTime"/>
<Value Type="DateTime"><Today /></Value>
</Gt>
</And>
</And>
<DataRangesOverlap>
<FieldRef Name="EventDate" />
<FieldRef Name="EndDate" />
<FieldRef Name="RecirrenceId" />
<Value Type="DateTime"><Month /></Value>
</DataRangesOverlap>
</Or>
</Where>
但我的页面返回:“无法添加选定的 Web 部件。文件格式无效。请尝试导入 Web 部件文件 (.WebPart)。”