SharePoint 2013 CAML查询OrderBy未正确排序

我正在使用CAML查询从列表中获取一些项目。 它将项目拖放到一个datatable中,然后将其设置为gridview控件的数据源。

一切工作正常,直到我意识到它正在使用ID字段来排序项目。 我想按字段Target_x0020_Id进行排序,所以我按顺序排序,但是当我添加它时,它不会改变行为。

这是我的查询:

WhereEqFieldRefName ='Target_x0020_Id'Value Type ='Text'900 / Value / EqWhereOrderByFieldRef Name ='Target_x0020_Id'/ FieldRef / OrderBy

我添加的唯一东西是orderby元素。 (对不起,我有一些问题发布的代码没有它试图呈现在帖子中)


我只能假设这是你正在使用的CAML

<Where>
  <Eq>
    <FieldRefName='Target_x0020_Id'>
    <Value Type='Text'>900</Value>
  </Eq>
<Where>
<OrderBy>
  <FieldRef Name='Target_x0020_Id'></FieldRef>
</OrderBy>

我看到三个明显的错误。

  • FieldRef和Caml的<Eq>部分中的名称之间缺少空格。
  • 关闭<where>缺少正斜杠。
  • <OrderBy>的FieldRef标记不正确。 它自动关闭
  • 这应该是正确的caml

    <Where>
      <Eq>
        <FieldRef Name='Target_x0020_Id'>
        <Value Type='Text'>900</Value>
      </Eq>
    </Where>
    <OrderBy>
      <FieldRef Name='Target_x0020_Id' />
    </OrderBy>
    

    我确实看到您将返回Target_x0020_Id等于900的所有项目,然后按Target_x0020_Id对所有这些项目进行排序。 由于此字段始终为900,因此您的排序不起作用。

    另外,Target_x0020_Id是否真的是文本字段? 如果是数字,则应将类型改为“数字”而不是“文本”。

    链接地址: http://www.djcxy.com/p/64149.html

    上一篇: SharePoint 2013 CAML query OrderBy not sorting properly

    下一篇: To fetch a specific SharePoint Office 365 list item using CAML query?