2016-05-31 12 views
1

私はさまざまな記事を流しましたが、私の正確なシナリオに対する答えは見つかりませんでした。私はフィルタの目的のためにいくつかのクエリパラメータを持つSharePoint 2010のリストを持っています。 1つの状況を除いて、フィルタリングにはうまく機能しますが、リストビューが最初にヒットしたときに、一般的な表示のすべての条件を照会することができます(つまり、クライアントが最初にリストを検索する)。 リストフィールドをフィルタリングしていたら、CAMLでクエリパラメータを参照しているので、SharePoint DesignerでSOAPエラーが発生しています。 SQL同等物は次のようになります。私は、この構造を試してみたところ(@パラメータ1がnullで、パラメータ2 @ nullで、パラメータ3 @ nullです...)CAMLクエリの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. 

私は感じています構造が正しくありません。事前に

おかげで、 ブライアンH.

答えて

0

コンテンツエディタではなく目標を達成するためにHTMLフォームWebパーツを使用することに決めました。 HTMLフォームのWebパーツは、すべてのボックスに入力されたすべてのフィルタ値を保持し、パラメータとカスタムcamlクエリを使用してリストをフィルタリングすることができます。

1

フィールドがnullであるかどうかを判断するために、この構文を使用することができます。

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

あなたは削除する必要がありIsNull内の余分なValue要素を持っています。

+0

こんにちはグレン、 私はリストフィールドがnullであるかどうかをチェックしていません、クエリパラメータが入力されたテキストボックスが入力されているかどうかを確認しようとしています。 提供された検索クエリのすべてのボックスがnullの場合、リストをすべて表示する必要があります。そうしないと、ユーザーが任意のパラメータボックスに値を入力してリストをフィルタリングできます – Brian

関連する問題