CAML 查询检查空参数



我已经浏览了各种文章,但没有找到我的确切情况的答案。我有一个 SharePoint 2010 列表,其中包含一些用于筛选目的的查询参数。我的 CAML 查询非常适合过滤,但在某些情况下,我希望在查询中首次点击列表视图时有一个常规显示所有条件(即我的客户端将能够主动查看/分页/排序数据,而无需首先搜索列表)。如果我只是过滤列表字段,我会被设置,但由于我在 CAML 中引用查询参数,我在 SharePoint 设计器中收到 SOAP 错误。SQL 等效项为:其中 (@Parameter1

为 null,@Parameter2 为 null,@Parameter3 为 null...

我尝试过这种结构:

    <Or Group="true">
       <And>
         <And>
           <IsNull>
           <FieldRef Name ="Title"/>
           <Value Type="Text">{RollNum}</Value>
           </IsNull>
        <Gt>
          <FieldRef Name="ID"/>                     
          <Value Type="Counter">
         <IfEqual>
          <Expr1><![CDATA[{Param1}]]></Expr1>   
          <Expr2/>
          <Then>0</Then>                    
          <Else>2147483647</Else>
        </IfEqual>
        </Value>
      </Gt>
    </And>
   <IsNull>
      <FieldRef Name ="RefNumber"/>
      <Value Type="Text">{RefNum}</Value>
      </IsNull>
    </And>
</Or>...the rest of the query, which works fine.

我有一种感觉,我的结构不正确。

提前感谢,布莱恩·

可以使用以下语法来确定字段是否为 null:

<Where><IsNull><FieldRef Name='YourFieldName' /></IsNull></Where>

IsNull中有一个额外的Value元素,您应该将其删除。

我决定使用 HTML 表单 Web 部件来实现我的目标(而不是内容编辑器)。HTML 表单 Web 部件保留输入到任何框中的所有筛选器值,并且可以连接以使用参数和自定义 caml 查询筛选我的列表。

相关内容

  • 没有找到相关文章

最新更新