内容查询Web部件 - 与周期性事件的日历问题

时间:2011-07-05 16:57:46

标签: sharepoint events calendar caml cqwp

我有一个内容查询webpart,可以阅读日历列表并显示当前正在运行的事件

我遇到的问题是当我设置定期事件时,我的查询会“已损坏”。

我的CAML请求:

<Where>
    <And>
        <Leq>
            <FieldRef Name="EventDate" Nullable="False" Type="DateTime"/>
            <Value Type="DateTime" IncludeTimeValue="TRUE">
            <Today />
            </Value>
        </Leq>
        <Geq>
            <FieldRef Name="EndDate" Nullable="False" Type="DateTime"/>
            <Value Type="DateTime" IncludeTimeValue="TRUE">
            <Today />
            </Value>
        </Geq>
    </And>
</Where>

问题是,定期事件是使用 的EventDate定义的 ,但EndDate就像 在10年后的< / em> (或年份 4499 O_o)。

这是一个经常性事件的身份输出(似乎没有任何定义它......至少,从我可以玩的信息)。

Property:ListId | Value:<gibberish>
Property:WebId | Value:<gibberish>
Property:ID | Value:17
Property:Title | Value:maint
Property:FileRef | Value:SiteDirectory/mysite/Lists/Calendrier/17_.000
Property:_x007B_1d22ea11_x002D_1e32_x002D_424e_x002D_89ab_x002D_9fedbadb6ce1_x007D_ | Value:17
Property:Modified | Value:2011-07-05 10:37:02
Property:Author | Value:Admin
Property:Editor | Value:Admin
Property:Created | Value:2011-07-05 10:37:02
Property:PublishingRollupImage | Value:
Property:_Level | Value:1
Property:Comments | Value:
Property:EventDate | Value:2011-07-05 03:00:00
Property:EndDate | Value:2021-01-26 05:00:00
Property:fAllDayEvent | Value:0
Property:LinkUrl | Value:http://localhost/SiteDirectory/mySite/Lists/Calendrier/17_.000
Property:PubDate | Value:Tue, 05 Jul 2011 14:37:02 GMT
Property:ImageUrl | Value:
Property:ImageUrlAltText | Value:
Property:Description | Value:
Property:Style | Value:identity
Property:GroupStyle | Value:Band
Property:__begincolumn | Value:True
Property:__begingroup | Value:False

(此事件定义为每周一和周二发生)。

  1. 我如何知道某个事件是否经常发生?
  2. 如何将查询过滤为仅包含当前正在运行的定期事件?

1 个答案:

答案 0 :(得分:0)

首先要意识到的是,重复出现的事件系列只存储为一个事件,而不是每个实例。

因此,开始/结束日期太长 - 它是重复的总长度,而不是任何特定的实例。

如果您正在处理定期事件,则有一个fRecurrance字段为True。

这是关于理解重复事件的唯一指南 - 但是抬头,与经常性事件一起工作是一项艰苦的工作,这种方式就是愤怒,仇恨和痛苦...

MSDN - Understanding the SharePoint calendar and how to export it to iCal format