2013-03-21 27 views
3

尝试使用CAML查询从SharePoint列表中获取数据。SharePoint CAML查询Orderby不支持降序属性。

正在使用属性降序,但不能按预期工作。

请找到下面的代码。

<OrderBy> 
    <FieldRef Name='ID' Descending = 'True'/> 
</OrderBy> 

以上代码仍然取最小的ID(其中ID是1,2,3..so上),在我的情况下,它取提前ID = 1个

感谢。

回答

13

AFAIK,不存在用于指定降序的“降序”属性。

相反,您必须使用Ascending属性,并指定“false”作为值。

<OrderBy> 
    <FieldRef Name='ID' Ascending='FALSE'/> 
</OrderBy> 

你可以从this page

升序看到 - 可选的Boolean。这指定了在视图中定义的FieldRef元素上的排序顺序。默认值是true。

+0

感谢SPArchaeologist。是的,你是对的..正在通过MSDN微软网站,并找到CAML文档(http://msdn.microsoft.com/en-us/library/ms442728.aspx)。没有像DeSending这样的属性。它只有具有TRUE |的Ascending属性FALSE值。谢谢很多。 – KrankyCode 2013-03-21 10:00:05

+0

别担心,我的荣幸 - 这有点“不那么直观”。如果他们创建了具有“升序”和“降序”两个值的属性“方向”,我宁愿选择......顺便说一句,只是为了做一些随机广告 - 堆栈交换网络中存在专门针对SharePoint问题的站点:链接[这里](http://sharepoint.stackexchange.com/)。如果将来您需要与SharePoint相关的任何内容,并且您在主网站上没有收到答案,请考虑一下。 – SPArchaeologist 2013-03-21 10:47:32