Sharepoint - 如何仅返回最新公告

时间:2009-07-28 08:43:32

标签: sharepoint wss

使用WSS 3.0我最近想出了如何聚合来自多个Sharepoint子站点的公告,以便它们可以显示在顶级站点上(参见:Sharepoint - How to agregate Announcements from sub-sites onto main site)。

我现在需要做的只是显示每个子站点的最新公告 - 而不是像SQL中可能拥有的SELECT TOP 1 FROM。因此,虽然每个子站点可能有几个公告,但我只想显示每个子站点中的最新一个。

我认为这样做很容易 - 这似乎是一件显而易见的事情,但我在文档中找不到任何参考资料。

因此,如果有人知道如何做到这一点,或者可以指出我正确的方向,那就太好了。

感谢。

1 个答案:

答案 0 :(得分:3)

如果没有自定义代码(无论是XSL还是C#),这是不可能的。您可以在使用SPSiteDataQuery(COntextQueryWebPart)和CAML时通过WebId进行分组,但是您无法在分组中进行顶级操作。您可以尝试单独执行每个站点,并使用ASCENDING ='False'将CAML查询的RowLimit设置为1,将OrderBy设置为Created,

所以查询看起来像这样:

<View>
  <ViewFields>
    ....
  </ViewFields>
  <Query>
    <Where>
      ....
    </Where>
    <OrderBy>
      <FieldRef Name='Created' Ascending='False' />
    </OrderBy>
  </Query>
  <RowLimit>1</RowLimit>
 </View>