如何在CAML Query中执行double orderby?
我在visual studio c#中使用骆驼查询来从SharePoint 2010中的列表中获取项目。列表项目有两个我想在caml查询中使用的字段。 一个是“Section”,另一个是“Order By”。 查询需要以某种方式排序项目。 首先它需要按Section(按升序= true)对它进行排序,然后对每个按Order By(升序= true)进行二级排序。
例如,结果将如下所示:
<item> <Section> <Order By>
item1 A 1
item2 A 3
item3 B 1
item4 B 2
item5 C 5
item6 C 6
到目前为止,我有这样的:
SPQuery query = new SPQuery();
query.Query = "<Query><OrderBy><FieldRef Name='" + Root_List.Fields.GetField(SECTION_COLUMN).InternalName + "' Ascending='True'/></OrderBy></Query>";
item_collection = Root_List.GetItems(query);
但是,我如何申请二手订单?
注意:Section是一个字符串字段,order by是一个数字字段。
通过MSDN上的此页面,您可以在OrderBy元素内包含多个FieldRef:
http://msdn.microsoft.com/en-us/library/ms467378.aspx
给出的例子是:
<OrderBy>
<FieldRef Name="Newcomers"/>
<FieldRef Name="Years" Ascending="FALSE"/>
<FieldRef Name="Location"/>
</OrderBy>
我使用CAML Builder,它让生活变得更加轻松,特别是当你有困难的查询时,你可以从这里得到它:
http://www.u2u.be/res/tools/camlquerybuilder.aspx
2007年版在2010年可以正常使用,我每天都会使用它
尝试创建计算列,将您想要订阅的列连接在一起。 然后按新的计算列排序列表。
http://msdn.microsoft.com/en-us/library/bb862071(v=office.14).aspx
链接地址: http://www.djcxy.com/p/64141.html上一篇: How to do double orderby in CAML Query?
下一篇: Sum specific list items and assign the sum value into a different list