SharePoint:如何通过使用CAML查询从列表中获取前5条记录

18

我已经创建了一个Web部件来显示列表中的数据,但我真正想要的是只显示该列表中前5条记录(通过使用CAML查询)。

有人知道如何做到这一点吗?非常感谢。

<Query>
   <OrderBy>
      <FieldRef Name='ID' Ascending='False' />
   </OrderBy>
</Query>
3个回答

23
您可以设置SPQuery对象的RowLimit属性。 <RowLimit>标签在视图的模式定义中(是<View>的直接子节点),因此不能嵌套在<Query>标签内。

1
如果我使用这个查询 - <Query><Where></Where></Query><View><RowLimit Paged='False'>10</RowLimit></View> - 我得到了一个错误消息“存在多个根元素”。你有什么想法吗? - NLV
不要在查询中放置<View>;SPQuery对象有一个单独的属性叫做View,您需要使用它,如果我没记错的话还有一个RowLimit。 - Tudor Olariu

10

以下代码显示了使用 CAML 查询从列表中获取前5条记录。

SPQuery spQuery = new SPQuery();
spQuery.Query = "<OrderBy><FieldRef Name='ID' Ascending='FALSE'/></OrderBy>";
spQuery.RowLimit = 5;

0

如果您想构建其他简单的CAML查询,请尝试使用此工具。 http://www.camldesigner.com/

顺便说一句,该工具无法构建带有SPListItemCollectionPosition的“分页”CAML查询。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接