8 値リストの使用

ドロップダウン値リスト(依存値リストを含む)を統合Excelワークブックおよびワークブック内の表に作成する方法、およびユーザーがワークブックから起動できるFusion Webアプリケーションから「検索および選択」リスト・ピッカー・ダイアログを表示する方法について説明します。

この章の内容は次のとおりです。

統合Excelワークブックの値リストについて

エンド・ユーザーが値の範囲から選択できるようにしたり、エンド・ユーザーが統合Excelワークブックに入力できる値を成約したりするシナリオでは、統合Excelワークブックに値リストを実装することを検討してください。

ADFデスクトップ統合では、これらのユースケースに複数の方法で対応できます。たとえば、次を構成できます。

  • Excelワークシート・セルのドロップダウン値リスト

  • あるリストに表示される値(子の値リスト)が、別のリストで選択した値(親の値リスト)に依存する、依存値リスト

  • リストから値を選択するための高度な機能を提供する「検索および選択」リスト・ピッカー・ダイアログの表示を構成します。

エンド・ユーザーが選択できる値の完全セットが比較的小さい(例: 値の数が30未満)シナリオでは、統合Excelワークブックに値リストを構成することを検討してください。Fusion Webアプリケーションからページの「検索および選択」リスト・ピッカー・ダイアログを使用すると、値リストの値が30未満の場合、操作性が向上する可能性があります。

統合Excelワークブックへの値リストの追加のユースケースおよび例

ADFデスクトップ統合からADF値リスト・コンポーネントおよび他のサブコンポーネントを使用すると、エンド・ユーザーにデータを表示して選択できる様々なインタフェースを作成できます。図8-1に、この章の以降の項で詳しく後述する、Summitサンプル・アプリケーション・ワークブックいくつかの例を示します。

図8-1 Summitサンプル・アプリケーション・ワークブックでの値リストの実装

図8-1の説明が続きます
「図8-1 Summitサンプル・アプリケーション・ワークブックでの値リストの実装」の説明

統合Excelワークブックに値リストを追加するための追加の機能

統合Excelワークブックに値リストを追加した後、ワークブックを構成するために追加機能が必要になることがあります。次の各項では、使用可能なその他の機能について説明します。

Excelワークシートでの値リストの作成

ADF値リスト・コンポーネントは、実行時にドロップダウン値リストをExcelワークシート・セルに作成する場合に使用します。

ADF値リスト・コンポーネントは、たとえば多くても20または30項目の簡単な選択リストを対象にしていますが、最大で250の値を実行時に表示できます。ADF値リスト・コンポーネントは、Excelワークシートのセルに挿入できます。図8-2に、リージョンのリストで有効な値のいずれかを選択するのをユーザーが制約される、Summitサンプル・アプリケーションのEditWarehouseInventory-DT.xlsxからの実装を示します。

図8-2 Excelワークシートの実行時の値リスト

図8-2の説明が続きます
「図8-2 Excelワークシートの実行時の値リスト」の説明

ListIDプロパティの値を指定する必要があります。ListIDプロパティは、ワークブックDownSyncアクションを起動した後で実行時にドロップダウン・メニューに値リストを移入するリスト・バインディングを参照します。

図8-3に、ADF値リスト・コンポーネントのプロパティ・インスペクタが最前面に表示された状態を示します。ADF値リスト・コンポーネントは、実行時にExcelワークシートのドロップダウン・メニューに値を移入するリスト・バインディング(RegionId)を参照します。

注意:

  • ADF表コンポーネントの列にドロップダウン・メニューを表示できます。「ADF表コンポーネント列での値リストの作成」を参照してください。

  • ADF値リスト・コンポーネントはテキスト・アイテムと組み合せて使用するものであり、日付値や数値の使用はサポートされていません。

  • ADF値リストでは、設計時に複数の表示属性が選択された構成をサポートしていません。

図8-3 ADF値リスト・コンポーネント

この図は周囲のテキストで説明しています

ADF値リスト・コンポーネントを挿入するには:

  1. 統合Excelワークブックを開きます。
  2. コンポーネントを配置するExcelワークシートのセルを選択します。
  3. コンポーネント・パレットで「ADF値リスト」を選択して、コンポーネントの挿入をクリックします。または、「Oracle ADF」タブで、「コンポーネントの挿入」ドロップダウン・リストからADF値リストを選択します。
  4. ListIDプロパティの入力フィールドの横にある参照(...)アイコンをクリックしてバインディングIDピッカーを起動し、ページ定義ファイルで公開されたリスト・バインディングを選択します。
  5. プロパティ・インスペクタで、コンポーネントの外観、設計およびレイアウトを決定する他のプロパティを構成します。ADF値リスト・コンポーネントのプロパティの詳細は、「ADF値リスト・コンポーネントのプロパティ」を参照してください。
  6. 「OK」をクリックします。

    注意:

    • コンポーネントのプロパティを後から変更するには、コンポーネントを配置するワークシートのセルを選択して、プロパティ・インスペクタを表示します。または、セルで右クリックして、「ADFコンポーネント・プロパティの編集」を選択し、プロパティ・インスペクタを開きます。

      コンポーネントを削除するには、「ADFデスクトップ統合コンポーネントの削除」の説明に従って「削除」リボン・コマンドを使用します。

    • Excelフォームは、フォームのバインド・イテレータに行が存在しないと予想される場合は、モデルドリブン・リスト・バインディングを使用するADF値リスト・コンポーネントを使用するようには構成できません。解決策として、かわりに動的なリスト・バインディングを使用するように、ADF値リスト・コンポーネントを構成できます。

ADF表コンポーネント列での値リストの作成

ADF表コンポーネント列でドロップダウン値リストをレンダリングする場合は、ModelDrivenColumnComponentサブコンポーネントを使用します。

値リスト・コンポーネントは、たとえば多くても20または30項目の簡単な選択リストを対象にしていますが、最大で250の値を実行時に表示できます。他のADFデスクトップ統合コンポーネントとは異なり、ModelDrivenColumnComponentサブコンポーネントは、「コンポーネント・パレットの使用」で説明されているコンポーネント・パレットには表示されません。かわりに、ADF表コンポーネントの列のUpdateComponentプロパティの値を指定するときに、サブコンポーネントとして選択します。ADF表コンポーネント列のプロパティの詳細は、「ADF表コンポーネントの列プロパティ」を参照してください。モデルドリブン・リストの作成の詳細は、「ADF表コンポーネントへのModelDrivenColumnComponentサブコンポーネントの追加」を参照してください。

ModelDrivenColumnComponentサブコンポーネントを指定したら、モデルドリブン・リストに関連付けられたツリー・バインディング属性を、ModelDrivenColumnComponenサブコンポーネントのValueプロパティの値として指定する必要があります。ツリー・バインディング属性のモデルドリブン・リストは、実行時にADF表コンポーネントの列のドロップダウン・メニューに値リストを移入します。モデルドリブン・リストの作成の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』モデルドリブン・リストの作成方法に関する項を参照してください。

ADF表コンポーネント列での値リストの作成方法

ADF表コンポーネント列に列を追加して、ModelDrivenColumnComponentをサブコンポーネントとして選択します。それから、ツリー・バインディング属性をModelDrivenColumnComponentサブコンポーネントのValueプロパティの値に指定します。モデルドリブン・リストは、指定するツリー・バインディング属性に関連付ける必要があります。

注意:

  • ModelDrivenColumnComponentサブコンポーネントは、コントロール・タイプがcombo_lovのモデルドリブン・リストをサポートしていません。

  • コントロール・タイプがinput_text_lovのツリー属性は、ADF値リスト・コンポーネントとしてレンダリングしません。かわりに、「ADF表コンポーネントへのモデルドリブン・リスト・ピッカーの追加」に説明されている、モデルドリブン・リスト・ピッカー機能を公開します。

  • 日付値を使用するADF値リスト・コンポーネントはサポートされていません。

  • ModelDrivenColumnComponentサブコンポーネントは、すべての場合において、EJBベースのデータ・コントロールのモデルドリブン・リストをサポートしないことがあります。

始める前に:

ADF表コンポーネントでの値リストの作成方法を理解しておくと役立ちます。「ADF表コンポーネント列での値リストの作成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。「統合Excelワークブックに値リストを追加するための追加の機能」を参照してください。

ADF表コンポーネント列に値リストを作成するには:

  1. 統合Excelワークブックを開きます。
  2. ADF表コンポーネントを参照するExcelワークシートのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックします。
  3. 「コンポーネントの編集: ADF表」ダイアログで、Columnsの入力フィールドの横にある参照(...)アイコンをクリックします。

    「列の編集」ダイアログが表示され、選択したADF表コンポーネントのすべての列が一覧表示されます。

  4. 「追加」をクリックして、新しい列を追加します。
  5. 新しく作成した列に適切なオプションを選択します。
    • UpdateComponentの入力フィールドの横にある参照(...)アイコンをクリックして、更新操作とダウンロード操作の実行時の値リストを構成します。

    • (オプション) InsertComponentの入力フィールドの横にある参照(...)アイコンをクリックして、挿入操作の実行時の値リストを構成します。これは滅多にありません。

    両方のオプションでも、作成するサブコンポーネントの選択ダイアログが表示されます。

  6. ModelDrivenColumnComponentを選択して「OK」をクリックします。
  7. ステップ5で選択したプロパティを展開して、Valueプロパティのモデルドリブン・リストに関連付けられたツリー・バインディング属性を選択します。

    ユーザーに列の値を編集させる場合は、ReadOnlyプロパティをFalseに設定し、それ以外の場合は、Trueに設定します。

    図8-4に、Summitサンプル・アプリケーションのEditCustomers-DT.xlsxワークブックにレンダリングされるクレジット評価列のプロパティ・インスペクタを示します。

    図8-4 値リストを表示するように構成されたADF表コンポーネント列

    この図は周囲のテキストで説明しています
  8. 「OK」をクリックします。

実行時の処理: ADF表列による値リストのレンダリング

実行時には、ADF表コンポーネントはDownloadアクションを起動して、それぞれの列に値を移入します。また、このアクションは値リストをレンダリングするよう構成した列に値リストを移入します。図8-5に、Summitサンプル・アプリケーションのEditCustomers-DT.xlsxワークブックの例を示します(クレジット評価は、値リストを表示するように構成されます)。

図8-5 値リストを表示するADF表コンポーネント列の実行時のビュー

図8-5の説明が続きます
「図8-5 値リストを表示するADF表コンポーネント列の実行時のビュー」の説明

ADF表コンポーネントへのモデルドリブン・リスト・ピッカーの追加

ADF表コンポーネントを構成し、Fusion Webアプリケーションの既存のモデルレイヤー・メタデータを使用して、統合Excelワークブックに「検索および選択」リスト・ピッカー・ダイアログを表示できます。

「検索および選択」リスト・ピッカー・ダイアログは、検索アイコンをまたはボタンをクリックして、ADF Facesページでaf:inputListOfValuesコンポーネントの「検索および選択」ポップアップを開いた場合に表示されるダイアログと似ています。図8-6に、EditCustomers-DT.xlsxワークブックからの例を示します(エンド・ユーザーは、新しい値を入力するセルをダブルクリックします)。表示されるポップアップから新しい値を検索して選択します。

ヒント:

値を選択するために、ユーザーに列のセルをダブルクリックするように指示する列ヘッダーのツールチップを追加することを検討してください。

図8-6 表の列のセルから起動されるモデルドリブン・リスト・ピッカー

この図は周囲のテキストで説明しています

ADF表コンポーネントにモデルドリブン・リスト・ピッカーを追加する手順:

  1. JDeveloperでFusion Webアプリケーションを開きます。

  2. af:inputListOfValuesコンポーネントを使用するのと同じ方法で、ビュー・オブジェクトを構成します。

    1. ビュー・アクセッサを追加します。

      ビュー・アクセッサの作成の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』エンティティ・オブジェクトまたはビュー・オブジェクトのビュー・アクセッサの作成方法に関する項を参照してください。

    2. 属性の値リスト(LOV)を作成します。

      値リスト・コンポーネントの作成の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』値リスト(LOV)の作成に関する項を参照してください

    3. LOVのUIヒントを設定します。「デフォルトのリスト・タイプ」「値リストと共にテキストを入力します」に設定されていることを確認します。

      UIヒントの設定の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』ビュー・オブジェクトのLOV有効属性にユーザー・インタフェース・ヒントを設定する方法に関する項を参照してください。

    4. ワークシートで使用されるページ定義のツリー・バインディングとして、ビュー・オブジェクトを公開します。

  3. アプリケーションのweb.xmlファイルがADFライブラリWebアプリケーション・サポートのフィルタ(<filter-name>ADFLibraryFilter</filter-name>)を構成することを確認します。

    詳細は、「ADFデスクトップ統合のためのADFライブラリ・フィルタの構成」を参照してください。

  4. 統合Excelワークブックを開きます。

  5. LOV対応の属性にバインドされる表の列の場合は、ModelDrivenColumnComponentコンポーネント・タイプを列構成に使用してください。表の列がこのように構成されていると、UpdateComponentおよびInsertComponentDoubleClickActionSetプロパティは実行時に無視されます。

    図8-7に、ModelDrivenColumnComponentに設定されたUpdateComponentプロパティのコンポーネントのタイプを示します。

    図8-7 ADF表コンポーネントのUpdateComponentプロパティ

    図8-7の説明が続きます
    「図8-7 ADF表コンポーネントのUpdateComponentプロパティ」の説明
  6. まだ設定されていない場合は、Workbook.Compatibility.TableComponents.ModelDrivenColumns.InputListOfValuesPickerEnabledプロパティをTrueに設定します。

    InputListOfValuesPickerEnabledプロパティの詳細は、「ADFデスクトップ統合互換性のプロパティ」を参照してください。

  7. (オプション)基底にあるイテレータ上の異なる属性をモデルドリブン・リスト・ピッカーのアクションで設定する必要がある場合、ADF表コンポーネントにRowData.CachedAttributesを構成します。たとえば、EditCustomers-DT.xlsxワークブックでは、「営業担当者」列でModelDrivenColumnComponentサブコンポーネントが公開されているだけでなく、SalesRepIdRowData.CachedAttributeの値としても定義されています。

Fusion Webアプリケーション、統合Excelワークブックおよび表の列を構成したら、ワークブックを実行し、LOV対応の属性を公開する表の列をダブルクリックして、モデルドリブン・リスト・ピッカー・ダイアログを開きます。

ADF表コンポーネントのモデルドリブン・リスト・ピッカーに関する必知事項

デフォルトでは、バインディング・パレットでツリー・バインディングをダブルクリックして、ADF表コンポーネントを作成すると、ModelDrivenColumnComponentサブコンポーネントを使用するように、表のすべての列が構成されます。コントロール・タイプがinput_text_lovのモデルドリブン・リストにバインドされているツリー属性は、実行時に「検索および選択」リスト・ピッカー・ダイアログのレンダリングを自動的にサポートします。つまり、特別な構成は不要です。

ツリー属性がモデルドリブン・リストにバインドされていない、またはカスタム・ピッカーのユーザー・インタフェースが必要な場合は、「Fusion WebアプリケーションからのWebページの表示」を参照してください。

注意:

ADF表コンポーネントのModelDrivenColumnComponentサブコンポーネントが、LOV切替え機能を介して複数の値リスト(LOV)が定義されているビュー・オブジェクト属性を公開している場合、最初はエンド・ユーザーに空のモデルドリブン・リスト・ピッカー・ダイアログが表示されることがあります。空のモデルドリブン・リスト・ピッカー・ダイアログが表示された場合、ダイアログ内に目的のコンテンツをレンダリングするために、エンド・ユーザーはこのダイアログを取り消してから再起動する必要があります。『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』値リスト(LOV)の作成に関する項を参照してください。

モデルドリブン・リスト・ピッカー・ダイアログを表示するように構成されている属性に対して、ツリー・ノード(特に子ツリー・ノード)に行が存在していることを確認してください。

統合Excelワークブックでの依存値リストの作成

ADFデスクトップ統合ランタイムで提供されている値リスト・コンポーネントを使用し、サーバー・サイド・リストのバインディングを適宜構成することにより、統合Excelワークブックに依存値リストを作成できます。

ADFデスクトップ統合は、統合Excelワークブックでの値リストの作成に使用する次のコンポーネントを提供します。

  • ADF値リスト

    Excelワークシートで値リストを作成するときに、このコンポーネントのプロパティを構成します。

  • ModelDrivenColumnComponentサブコンポーネント

    ADF表コンポーネント列で値リストを作成するときに、このサブコンポーネントのプロパティを構成します。

これら2つのコンポーネントを使用して、統合Excelワークブックに依存値リストを作成できます。依存値リストとは、値リスト・コンポーネント(子の値リスト)で、値は別の値リスト・子(親の値リスト)によって決定されます。

サーバーサイド・リスト・バインディングを、親の値リストの選択された項目が変更になったときに、使用可能な子の値リストの項目が正しく更新されるように定義する必要があります。図8-8は、EditWarehouseInventory-DT.xlsxワークブックの2つの画面を使用した例で、ここでは「リージョン」フィールド(親の値リスト)の値が変わると、「国」フィールド(子の値リスト)が変更になります。

図8-8 値リストと依存値リスト

この図は周囲のテキストで説明しています

表8-1は、以前にリストしたコンポーネントを使用して作成できる依存値リストの実装と、それぞれの実装を完了するための要件を示します。

表8-1に説明する実装には、モデルドリブン・リストが必要なものがあります。モデルドリブン・リストの作成の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』モデルドリブン・リストの作成方法に関する項を参照してください。

表8-1 依存値リストの構成オプション

構成 要件

ADF値リスト・コンポーネントを使用して、Excelワークシートで親と子の値リストの両方をレンダリングします。

ADF値リスト・コンポーネントの両方のインスタンスがリスト・バインディングを参照する必要があります。参照するリスト・バインディングの1つまたは両方をモデルドリブン・リストにすることができます。

両方のリスト・バインディングがモデルドリブン・リストを参照できるのは、基底にあるイテレータに少なくとも1つのデータ行がある場合のみです。実行時に基底のイテレータにデータ行がなく、エンド・ユーザーが親リスト(ADF値リスト・コンポーネントのDependsOnListIDプロパティにより参照されるリスト・バインディング)からの値を選択する場合、子の値リスト(ADF値リスト・コンポーネントのListIDプロパティにより参照されるリスト・バインディング)は、エンド・ユーザーが選択する値に基づいてフィルタ処理されません。

このシナリオを回避するには、次のオプションのいずれかを選択します。

  • 基底にあるイテレータに少なくとも1つのデータ行があることを確認

  • 複数のイテレータを公開して、必要なすべてのイテレータがリフレッシュされる別のリスト・バインディング構成を使用

「Excelワークシートでの依存値リストの作成方法」を参照してください。

ModelDrivenColumnComponentサブコンポーネントを使用して、ADF表コンポーネント列で親と子の両方の値リストをレンダリングします。

親と子の値リスト(ModelDrivenColumnComponentサブコンポーネント)は、どちらもモデルドリブン・リストに関連付けられたツリー・バインディング属性を参照する必要があります。

両方の列(親と子の値リスト)でInsertUsesUpdate列プロパティに同じ値が使用されている必要があります。

サーバー・サイド・リストのバインディングの従属性は、同じツリー・ノードにあるリストについてのみ判断されます。次のツリー・ノード・リストのバインディングはサポートされていません。

  • 異なるツリーまたはツリー・ノード内のリスト・バインディングに依存するバインディング

  • ページ定義ファイル内のリスト・バインディングに依存するバインディング

「ADF表コンポーネント列での依存値リストの作成方法」を参照してください。

依存値リストを作成する場合は、次の点に注意してください。

  • 親の値リストでの選択が変更されると、ユーザーへの警告なしに子の値リストがリセットされます。

  • DependsOnList(またはDependsOnListID)プロパティで指定されたリストがExcelワークシートのコンポーネントで参照されていないかぎり、依存値リストは機能しません。

  • 再帰的な依存関係が定義されている場合(リストAがリストBに依存し、リストBがリストAに依存)、最初の依存関係(リストAがリストBに依存)が期待される動作をトリガーします。ADFデスクトップ統合は、他の依存関係を誤った構成と見なします。

  • 次のようにして依存関係の連鎖を作成できます。

    • リストAがリストBに依存

    • リストBがリストCに依存

    このシナリオでは、リストCの変更(祖父母の値リスト)がリストA(孫の値リスト)とリストB(子の値リスト)の両方を更新します。同様のシナリオを作成する場合、親の値リストの選択内容が変わったときに、孫の値リストと子の値リストがどちらも確実にリフレッシュされるようにする必要があります。孫の値リストに2つのバインド変数を指定し、ビュー属性に暗示的な依存関係を設定することにより、これを行います。もうひとつの方法は、モデルドリブン・リストが構成されているそれぞれのビュー属性間に明示的な属性の依存関係を制限することです。たとえば、属性Aが属性Bと属性Cに依存し、属性Bが属性Cに依存するように指定します。

  • 依存値リストのキャッシュの詳細は、「複数のWebセッション間で使用するための値リストのキャッシング」を参照してください。

  • ADFデスクトップ統合は、依存値リストに表示される値をキャッシュします。したがって、親リストの選択に対する依存リストの項目の値は、ADF表コンポーネントのすべての行で一貫している必要があります。

  • 日付値を使用するADF値リスト・コンポーネントはサポートされていません。

Excelワークシートでの依存値リストの作成方法

ADF値リスト・コンポーネントの2つのインスタンスを使用して、Excelワークシートで依存値リストを作成します。

親のADF値リスト・コンポーネントによって参照されるリスト・バインディングを、子のADF値リスト・コンポーネントのListOfValues.DependsOnListIDプロパティの値に指定します。

ADF値リストの詳細は、「ADF値リスト・コンポーネントのプロパティ」を参照してください。

始める前に:

依存値リストについて理解しておくと役立ちます。「統合Excelワークブックでの依存値リストの作成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。「統合Excelワークブックに値リストを追加するための追加の機能」を参照してください。

Excelワークシートで依存値リストを作成するには:

  1. 存在しない場合は、必要なリスト・バインディングをページ定義ファイルに追加します。

    ページ定義ファイルへのバインディングの追加の詳細は、「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

  2. 統合Excelワークブックを開きます。
  3. 「Excelワークシートでの値リストの作成」の説明に従って、2つのADF値リスト・コンポーネントを統合Excelワークブックに挿入します。
  4. 依存値リストで親となるADF値リスト・コンポーネントのプロパティ・インスペクタで、ListOfValues.ListIDプロパティの値を親となるリスト・バインディングに設定します。
  5. 依存値リストで子となるADF値リスト・コンポーネントのプロパティ・インスペクタで、次のプロパティを設定します。
    • ListOfValues.ListID

      依存値リストで子となるリスト・バインディングを指定します。

    • ListOfValues.DependsOnListID

      ステップ4でADFリスト値コンポーネントに親として指定したリスト・バインディングを選択します。

      図8-9は、子のADF値リストのプロパティ・インスペクタを示しています(ここでは、RegionIdリスト・バインディングが親の値リストとして指定され(DependsOnListIDプロパティ)、CountryIdリストが依存値リストです(ListID)プロパティ)。

      図8-9 Excelワークシートの設計時の依存値リスト

      この図は周囲のテキストで説明しています
  6. 「OK」をクリックします。

実行時の処理: Excelワークシートによる依存値リストのレンダリング

実行時にはADFデスクトップ統合は、ADF値リスト・コンポーネントの両方のインスタンスをレンダリングします。エンド・ユーザーが親の値リストから値を選択すると、選択された値によって子のリストの値リストが決まります。

図8-10は、依存値リストのCountryが、選択されたRegionリスト値からの状態のみを表示する様子を示しています。

図8-10 Excelワークシートの実行時の依存値リスト

図8-10の説明が続きます。
「図8-10 Excelワークシートの実行時の依存値リスト」の説明

ADF表コンポーネント列での依存値リストの作成方法

ModelDrivenColumnComponentサブコンポーネントのインスタンスを使用して、ADF表コンポーネント列の依存値リストで両方の値リストを実行時にレンダリングします。

ツリー・バインディング属性を親のModelDrivenColumnComponentサブコンポーネントのValueプロパティの値に指定します。また、ツリー・バインディング属性を子のModelDrivenColumnComponentサブコンポーネントのValueプロパティの値に指定します。両方のツリー・バインディング属性が、ツリー・バインディングをページ定義ファイルに追加する前に、モデルドリブン・リストに関連付けられていることを確認してください。また、親と子のモデルドリブン・リスト間の依存性がサーバーで構成されていることも確認します。

Summitサンプル・アプリケーションのEditCustomers-DT.xlsxワークブックの「リージョン」および「国」列は、ADF表コンポーネントの依存値リストの実装を示しています。

次の各リンクでは、次の内容について説明します。

始める前に:

依存値リストについて理解しておくと役立ちます。「統合Excelワークブックでの依存値リストの作成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。「統合Excelワークブックに値リストを追加するための追加の機能」を参照してください。

ADF表コンポーネントに依存値リストを作成するには:

  1. 統合Excelワークブックを開きます。
  2. ADF表コンポーネントが存在しない場合、「ExcelワークシートへのADF表コンポーネントの挿入」の説明に従って挿入します。
  3. Columnsの入力フィールドの横にある参照(...)アイコンをクリックすることにより、ADF表コンポーネントのプロパティ・インスペクタで、「列の編集」ダイアログを起動します。
  4. 新しい列を追加(または既存の列を変更)して親の値リストとします。列のサブコンポーネント・タイプとしてModelDrivenColumnComponentを指定します。値リストの作成の詳細は、「ADF表コンポーネント列での値リストの作成」を参照してください。
  5. 新しい列を追加(または既存の列を変更)して子の値リストとします。列のサブコンポーネント・タイプとしてModelDrivenColumnComponentを指定し、親の値リストの列と同じ値をInsertUsesUpdate列プロパティに指定します。両方の列(親と子の値リスト)でInsertUsesUpdate列プロパティに同じ値が使用されている必要があります。値リストの作成の詳細は、「ADF表コンポーネント列での値リストの作成」を参照してください。
  6. 「OK」をクリックします。

実行時の処理: ADF表コンポーネント列による依存値リストのレンダリング

実行時に、ADF表コンポーネントは、ModelDrivenColumnComponentサブコンポーネントの両方のインスタンスを、これらのインスタンスを表示するよう構成した列にレンダリングします。エンド・ユーザーが親の値リストから値を選択すると、選択された値によって子のリストの値リストが決まります。

図8-11は、Summitサンプル・アプリケーションのEditCustomers-DT.xlsxワークブックの例を示しています。ここでは、「リージョン」列の値リスト(Europe)でエンド・ユーザーが選択する値が、「国」列の値リストに表示されるサブカテゴリの対応する値(France、Germanyなど)となります。

図8-11 ADF表コンポーネント列の実行時の依存値リスト

この図は周囲のテキストで説明しています

注意:

エンド・ユーザーが親リストの選択を変更すると、子のリスト項目が現在の行のみで変更されます。