0

みんなおはよう。SharePoint 2007でライブラリ テンプレートを設定するためのヘルプを探しています。詳細は次のとおりです。

  • いくつかのサブサイトを持つ親サイトがあります。

  • 各サブサイトに配置できるライブラリ テンプレートを設定したいと考えています。これらのライブラリは、メタデータ オプションを提供するために、親サイトの一連の集中リストから取得します。このように、1 セットのリストを維持するだけでよく、維持されたリスト情報は各図書館で利用できるようになります。

  • ライブラリはメイン サイトのサブサイトに存在するため、単純なルックアップは使用できません。通常のルックアップ列の種類は、現在のサイト内のリストに対してのみ機能します。

  • フィルター処理されたルックアップ列の種類にアクセスできます。親サイトの集中管理されたリストにアクセスできるため、正しい選択のように思えます。

このテンプレートに基づいてライブラリにファイルをアップロードするときに、ユーザーにプロンプ​​トが表示されるようにしたいと考えています。ファイルを選択すると、入力するメタデータの選択肢のリストが表示されます。

  • 最初のフィルタリングされたルックアップで、ユーザーに選択肢のリストを提供したいと考えています。これは現在正常に動作します。

  • 2 番目のフィルター処理されたルックアップで、最初のフィルター処理されたルックアップでの選択に基づいて、フィルター処理された選択肢のリストを提供する必要があります。

  • CAML クエリ フィルター文字列のセクションがあり、ここでハングアップします。静的な値ではなく、フィールドを参照する文字列をどのように記述しますか?

これは私が試したものです。[クエリ フィルターの適用] フィールドに、次のように入力しました。

<Where>
  <Eq>
    <FieldRef Name='Category' /><Value Type='Lookup'>Blue</Value>
  </Eq>
</Where>

これは機能しますが、値が静的文字列であるBlueである結果のみを提供します。Categoryの実際に選択された値を参照する方法を探しています。それは次のような効果があります:

<Where>
  <Eq>
    <FieldRef Name='Category' /><Value Type='Lookup'>[Category.Value]</Value>
  </Eq>
</Where>

今の私のハングアップは、適切な構文がわからない、またはそのような構文が存在するかどうかです。

ご提案いただきありがとうございます。私はこのアプローチに縛られていないので、同じ目標を達成する別の方法があれば、喜んでそれを楽しませます.

4

1 に答える 1

0

これは古い質問ですが、私はちょうど今それに出くわしました - ユーザーがまだ助けを必要としている場合に備えて、私は答えると思いました. これは 2 つの方法で行うことができます: 1. コールバック 2. クエリ文字列

どちらの方法でも問題なく動作し、クエリにデータを提供します。トリックは、次のようなルックアップ パラメーターを追加することです。

<ParameterBinding Name="Category" Location="Control(Filter1)" DefaultValue=""/>

また

<ParameterBinding Name="Category" Location="QueryString(Filter1)" DefaultValue=""/>

その後、SPDataSource の select コマンドを使用して、CAML クエリで変数を参照できます。

<Where>
<Eq>
    <FieldRef Name='Category' /><Value Type='Lookup'>{Category}</Value>
  </Eq>
</Where>

上記の {Category} の変数名は、ParameterBinding によって提供される名前です。

お役に立てれば。

于 2011-07-25T20:49:35.863 に答える