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

Posted

技术标签:

【中文标题】SharePoint:如何使用列表中的 CAML 查询获取前 5 条记录【英文标题】:SharePoint: How to get Top 5 records by using CAML query from a list 【发布时间】:2009-05-05 10:08:53 【问题描述】:

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

有人知道怎么做吗?非常感谢。

<Query>
   <OrderBy>
      <FieldRef Name='ID' Ascending='False' />
   </OrderBy>
</Query>

【问题讨论】:

【参考方案1】:

您可以设置 SPQuery 对象的 RowLimit 属性。

&lt;RowLimit&gt; 标记位于视图的架构定义中(View> 的直接子级),因此不能嵌套在 &lt;Query&gt; 标记内。

【讨论】:

如果我使用这个查询 - 10 - 我'收到错误'有多个根元素'。有什么想法吗? 不要把 放在查询中; SPQuery 对象有一个名为 View 的单独属性,您需要使用它,如果我没记错的话,还有一个 RowLimit【参考方案2】:

以下代码显示列表中的前 5 条记录(通过使用 CAML 查询)。

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

【讨论】:

【参考方案3】:

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

附:工具不会使用 SPListItemCollectionPosition 构造“分页”caml 查询。

【讨论】:

以上是关于SharePoint:如何使用列表中的 CAML 查询获取前 5 条记录的主要内容,如果未能解决你的问题,请参考以下文章

具有CAML查询的SharePoint级联下拉列表可过滤其中一个选项

SharePoint服务器端对象模型 之 使用CAML进展数据查询

SharePoint服务器端对象模型 之 使用CAML进展数据查询

使用CAML比较SharePoint“人员或组”字段

csharp 使用列名称中的CAML获取SharePoint项目(SPListItem)。

入门者必看!SharePoint之CAML总结(实战)