使用 WSS 3.0,我最近弄清楚了如何聚合来自多个 Sharepoint 子站点的公告,以便它们可以显示在顶级站点上(请参阅: Sharepoint - How to agregate Announcements from sub-sites onto main site )。
我现在需要做的是仅显示每个子站点的最新公告 - 就像 SQL 中的 SELECT TOP 1 FROM 一样。因此,尽管每个子站点可能有多个公告,但我只想显示每个子站点中最新的一个。
我认为这会非常容易 - 这似乎是一件显而易见的事情,但我在我拥有的文档中找不到任何引用。
因此,如果有人知道如何做到这一点,或者可以为我指明正确的方向,那就太好了。
谢谢。
最佳答案
如果没有自定义代码(无论是 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>
关于Sharepoint - 如何仅返回最新的公告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1192745/