如何在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