使用WSS 3.0我最近想出了如何聚合来自多个Sharepoint子站点的公告,以便它们可以显示在顶级站点上(参见:Sharepoint - How to agregate Announcements from sub-sites onto main site)。
我现在需要做的只是显示每个子站点的最新公告 - 而不是像SQL中可能拥有的SELECT TOP 1 FROM。因此,虽然每个子站点可能有几个公告,但我只想显示每个子站点中的最新一个。
我认为这样做很容易 - 这似乎是一件显而易见的事情,但我在文档中找不到任何参考资料。
因此,如果有人知道如何做到这一点,或者可以指出我正确的方向,那就太好了。
感谢。
答案 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>