ヘッダーをスキップ
Oracle® Fusion Middleware Oracle ADFデスクトップ統合によるアプリケーションの開発
12c (12.1.2)
E48098-01
  目次へ移動
目次

前
 
次
 

8 統合Excelワークブックへの対話性の追加

この章では、統合Excelワークブックに対話性オプションを追加する方法、データ・バインド検索フォームと値の依存値リストを作成してリボンタブを構成する方法、およびExcel式でEL式を使用する方法について説明します。

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

8.1 統合Excelワークブックへの対話性の追加について

アクション・セットなどの機能を使用し、実行時リボン・タブの構成や依存値リストの作成によって、統合ワークブックをエンド・ユーザーに対して対話形式にすることができます。図8-1は、対話機能のいくつかを示します。

図8-1 統合Excelワークブックの対話機能

統合Excelワークブックの対話機能

統合Excelワークブックに対話性を追加すると、エンド・ユーザーがワークブックでOracle ADFの機能を起動するアクション・セットを実行できるようになります。また、これらのアクション・セットの実行時に統合Excelワークブックでステータス・メッセージやアラート・メッセージ、エラー処理も提供されます。アクション・セットを起動するADFデスクトップ統合コンポーネントでのエンド・ユーザーの動作(ダブルクリック、クリック、選択)の他に、エンド・ユーザーが実行時にアクション・セットを起動するために使用する、ワークブックおよびワークシート・リボン・ボタンを構成できます。

8.1.1 統合Excelワークブックへの対話性の追加のユース・ケースと例

統合Excelワークブックに対話性を追加するために、エンド・ユーザーの動作により起動されるアクション・セットを使用できます。たとえば、図8-2に示すように、EditableCustomerSearch-DT.xlsx顧客のフィルタリボン・コマンドでは、複数のアクション・セットを使用して検索条件に一致するデータをフィルタします。

図8-2 顧客のフィルタリボン・コマンドのアクション・セット

検索ボタンのアクション・セット

図8-3は、EditCustomerSearch.xlsxに実装されているカスタムの実行時リボン・タブの例を示します。

図8-3 EditCustomerSearch.xlsxの実行時リボン・タブ

EditCustomerSearch.xlsxの実行時リボン・タブ

8.1.2 統合Excelワークブックへの対話性の追加の追加機能

アクション・セットと実行時リボン・タブの他に、その他の機能を追加してワークブックを構成できます。使用可能な他の機能へのリンクは次のとおりです。

8.2 アクション・セットの使用

アクション・セットは、特定の順序で実行される1つ以上のアクションからなる、順序付けされたリストです。アクションのタイプには次のようなものがあります。

アクション・セットは、エンド・ユーザーの動作(クリックやADFボタンなど)またはExcelワークシート・イベントによって起動できます。エンド・ユーザーの動作によってアクション・セットが起動される場合、ADFコンポーネントのプロパティ・インスペクタのアクション・セットのプロパティ名には、必要な動作の名前が先頭に付きます。次のリストは、ADFデスクトップ統合がプロパティ・インスペクタで表示するプロパティ名と、アクション・セットを起動するユーザーの動作を示します。

ADFコンポーネントやワークシート・リボン・ボタン、またはワークシート・イベントから「アクションの編集」ダイアログを起動して、アクション・セットを定義あるいは構成します。アクション・セットが起動するアクションを定義する他に、アクション・セットのAlertプロパティを構成して、アクション・セットの起動の結果に対するフィードバックを提供できます。アクション・セットのStatusプロパティを構成して、アクション・セットが定義されたアクションを実行する際に、エンド・ユーザーにステータス・メッセージを表示します。「アクションの編集」ダイアログの詳細は、5.12項「コレクション・エディタの使用」を参照してください。

ADFデスクトップ統合のSummitサンプル・アプリケーションには、使用されるアクション・セットの多くの例が用意されています。1つの例は、EditCustomers-DT.xlsxワークブックで実行時にUploadというラベルの付くリボン・コマンドです。このリボン・コマンドには、ADF表コンポーネントのUploadアクションを起動するアクション・セットが構成されています。図8-4は、設計モードでのアクションの編集ダイアログを示しています。

図8-4 EditCustomers-DT.xlsxワークブックのデータのアップロード・ボタンのアクション・セット

EditCustomers-DT.xlsxのデータのアップロード・ボタンのアクション・セット

ヒント:

アクションの編集ダイアログに追加するアクションごとに、「注釈」フィールドに説明を記述します。記述する説明はMembersリスト・ビューに表示されます。記述内容によっては、ADFデスクトップ統合が生成するデフォルトのエントリよりも意味をなす場合があります。



注意:

ADFデスクトップ統合は、 Membersリスト・ビューで指定した順にアクション・セット内のアクションを起動します。


8.2.1 アクション・セット内のメソッド・アクション・バインディングの起動方法

1つのアクション・セットで複数のメソッド・アクション・バインディングを起動できます。ページ定義ファイルは、Fusion Webアプリケーションと統合するワークシートで起動可能なアクション・バインディングを定義します。統合Excelワークブックのページ定義ファイルとアクション・バインディングの詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

「アクションの編集」ダイアログを使用して、起動するメソッド・アクション・バインディングを指定します。

始める前に:

アクション・セットについて理解しておくと役立ちます。詳細は、8.2項「アクション・セットの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

アクション・セットでメソッド・アクションを起動するには:

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

  2. 「アクションの編集」ダイアログを開いて、ここに示す「追加」ボタンからドロップダウン・リストを起動します。

    アクション・コレクション・エディタを起動する「追加」ボタン
  3. ADFmActionを選択して、次のリストにあるようにプロパティを構成します。

    • ActionID

      ActionIDの入力フィールドの横にある参照(...)アイコンをクリックして、バインディングIDピッカーを起動し、アクション・セットが起動するメソッド・アクション・バインディングを選択します。

    • Annotation

      オプションで、構成するアクションの目的に関するコメントを入力します。このプロパティに設定する値には、機能的な影響はありません。

  4. 「OK」をクリックします。

8.2.2 アクション・セット内のコンポーネント・アクションの起動方法

ADFデスクトップ統合のADF表コンポーネントおよびADF読取り専用表コンポーネントは、Fusion Webアプリケーションと統合するExcelワークシート間のデータ送信の管理に使用できるアクションを公開します。ADF読取り専用表コンポーネントは、1つのコンポーネント・アクションDownloadを公開しますが、ADF表コンポーネントは他の多くのアクションを公開します。両方のコンポーネントのアクションの詳細は、付録A「ADFデスクトップ統合コンポーネントのプロパティとアクション」を参照してください。

アクションの配列にあるコンポーネント・アクションを参照することで、1つ以上のコンポーネント・アクションを起動するアクション・セットを構成できます。たとえば、図8-5は、ワークシートのADF表コンポーネントとADF読取り専用表コンポーネントがSelectActionSetアクション・セットから起動できる、コンポーネント・アクションの選択ダイアログを示します。

図8-5 コンポーネント・メソッドの選択ダイアログ

コンポーネント・メソッドの選択ダイアログ・ボックス

注意:

アクション・セットによってADF表コンポーネントまたはADF読取り専用表コンポーネントのアクションを起動する前に、これらのコンポーネントをExcelワークシートに含める必要があります。


始める前に:

アクション・セットについて理解しておくと役立ちます。詳細は、8.2項「アクション・セットの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

アクション・セットからコンポーネント・アクションを起動するには:

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

  2. 「アクションの編集」ダイアログを開いて、ここに示す「追加」ボタンからドロップダウン・リストを起動します。

    ActionSetsの「追加」ボタン
  3. ComponentActionを選択して、次のリストにあるようにプロパティを構成します。

    • ComponentID

      ComponentIDの入力フィールドの横にある参照(...)アイコンをクリックして、「コンポーネント・メソッドの選択」ダイアログを起動し、アクション・セットが実行時に起動するコンポーネント・アクションを選択します。これによって、ComponentIDMethodの各入力フィールドに値が移入されます。

    • Action

      アクション・セットが実行時に起動するコンポーネント・アクション。

    • Annotation

      オプションで、構成するアクションの目的に関するコメントを入力します。このプロパティに設定する値には、機能的な影響はありません。

    • DetailStatusMessage

      「ステータス・メッセージ」ウィンドウに表示されるオプションのEL式のリテラル値を指定します(8.2.5項「アクション・セットの実行中にステータス・メッセージを表示する方法」を参照)。

  4. 「OK」をクリックします。

8.2.3 コンポーネント・アクションを起動するアクション・セットに関する留意事項

統合Excelワークブックでのアクション・セットの動作に関する次の情報に注意してください。

8.2.3.1 アクション・セットの検証による正しいコンポーネント・アクションの起動

アクション・セットを作成する際は、ワークシートに複数のインスタンスのADF読取り専用表コンポーネントまたはADF表コンポーネントが含まれる場合、正しいコンポーネントのインスタンスからコンポーネント・アクションを起動するようにしてください。図8-6は、2つのインスタンスのADF読取り専用表コンポーネントを持つコンポーネント・アクションの選択ダイアログを示します。表A-1に示すComponentIDプロパティの値を使用して、コンポーネント・アクションを起動するコンポーネントのインスタンスを正しく識別してください。

図8-6 「コンポーネント・アクションの選択」ダイアログ

「コンポーネント・アクションの選択」ダイアログ・ボックス

8.2.3.2 切断されたワークブックでのアクション・セットの起動

エンド・ユーザーはFusion Webアプリケーションから切断されている間、第15章「切断されたモードでの複数のWebセッションにおける統合Excelワークブックの使用」の説明に従って、統合Excelワークブックを使用できます。ADF表コンポーネントのDownloadアクションのような一部のコンポーネント・アクションを正常に完了するには、Fusion Webアプリケーションへの接続が必要です。このようなコンポーネント・アクションが含まれるアクション・セットをエンド・ユーザーが起動する場合、統合ExcelワークブックはFusion Webアプリケーションに接続しようと試み、必要があれば11.2項「Excelワークブック・ユーザーの認証」で説明されている認証プロセスを起動します。

8.2.4 ワークシート・イベントからアクション・セットを起動する方法

ADFデスクトップ統合には、ワークシート・イベントがいくつか用意されており、これはトリガーされるとアクション・セットを起動できます。次のワークシート・イベントはアクション・セットを起動できます。

  • Startup

  • Shutdown

    DialogアクションのTargetプロパティがTaskPaneに設定されている場合、このイベントからDialogアクションを起動しないでください。

  • Activate

  • Deactivate

Eventsワークシート・プロパティによって参照されるイベントの配列(WorksheetEventリスト)に要素を追加します。イベントと、追加する要素の中でそれによって起動されるアクション・セットを指定します。Eventsワークシート・プロパティおよびアクション・セットを起動できるワークシート・イベントの詳細は、表A-19を参照してください。アクション・セットの詳細は、表A-14を参照してください。

「イベントの編集」ダイアログを使用して、ワークシート・イベントによって起動されるアクション・セットを指定します。

始める前に:

アクション・セットについて理解しておくと役立ちます。詳細は、8.2項「アクション・セットの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

ワークシート・イベントからアクション・セットを起動するには:

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

  2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークシート・プロパティ」をクリックします。

  3. 「ワークシート・プロパティの編集」ダイアログで、Eventsプロパティの入力フィールドの横にある参照(...)アイコンをクリックします。

  4. 「イベントの編集」ダイアログで、「追加」をクリックして、イベントおよびそれが起動する対応するアクション・セットを指定する新しい要素を追加します。

    図8-7は、EditCustomers-DT.xlsxファイルの例を示しています。ここでは、ワークシート・イベントのStartupが、ADF表コンポーネントのDownloadアクションを起動するアクション・セットを起動します。

    図8-7 ワークシートのStartupイベントにより起動されるアクション・セット

    ワークシートのStartupイベントにより起動されるActionSet
  5. 「OK」をクリックします。

8.2.5 アクション・セットの実行中にステータス・メッセージを表示する方法

アクション・セットでStatusプロパティの値を指定することにより、アクション・セットの実行時にエンド・ユーザーに対してステータス・メッセージおよび進捗バーを表示できます。

アクション・セットのStatusプロパティを使用しながら、進捗バーを使用して進行状況を視覚的に示すことができます。StatusプロパティのMode属性により、実行時の進捗バーの外観を選択できます。メインの進捗バーと詳細進捗バーの、2種類の進捗バーが使用可能です。メインの進捗バーはアクション・セットのアクションを使用して進捗を示し、詳細進捗バーは現在のアクションの進捗を示します。

「アクションの編集」ダイアログを使用して、ActionSet.Statusプロパティの値を構成します。

始める前に:

アクション・セットについて理解しておくと役立ちます。詳細は、8.2項「アクション・セットの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

ステータス・メッセージを表示するには:

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

  2. コンポーネントの「アクションの編集」ダイアログを開きます。

  3. 表8-1に従って、Statusプロパティ・グループのプロパティの値を設定します。

    表8-1 Statusプロパティ・グループ

    プロパティ 入力または選択する値

    Enabled

    Trueに設定すると、ステータス・メッセージが表示されます。デフォルト値はTrueです。

    Message

    実行時に表示するステータス・メッセージに解決されるオプションのEL式またはリテラル値。

    たとえば、EditCustomers-DT.xlsxファイルの「アップロード」ボタンでは、Messageプロパティに次のEL式が構成されています。

    #{res['excel.customers.ribbon.upload.message']}

    Title

    実行時に表示するステータス・メッセージのタイトルに解決されるオプションのEL式またはリテラル値。

    たとえば、EditCustomers-DT.xlsxファイルの「アップロード」ボタンでは、Titleプロパティに次のEL式が構成されています。

    #{res['excel.customers.ribbon.upload.title']}

    Mode

    進捗バーの表示形式を選択します。

    • Automatic: ADFデスクトップ統合は、アクションセットを分析し、表示する進捗バーを判別します。

    • BothBarsAlways: メインの進捗バーと詳細進捗バーの両方を表示します。

    • MainBarOnly: 1つの進捗バーのみを表示します。このバーはアクションのリストを使用して進捗を表示します。

    • DetailBarOnly: 1つの進捗バーのみを表示します。このバーは現在のアクションの進捗を表示します。

    • MainMessageOnly: いずれの進捗バーも表示しません。


    図8-8に、EditCustomers-DT.xlsxワークブックの「アップロード」リボン・コマンドのStatusプロパティ・グループ用に構成された、プロパティ値およびそれに対応するビジュアル要素を示します。

    図8-8 アクション・セットのステータス・メッセージ・プロパティ

    ActionSetのステータス・メッセージ・プロパティ

    Statusプロパティ・グループの詳細は、表A-14Statusのエントリを参照してください。

    オプションのDetailStatusMessageプロパティを使用して、追加の情報をユーザーに提供することもできます。DetailStatusMessageプロパティの詳細は、8.2.2項「アクション・セットのコンポーネント・アクションの起動方法」を参照してください。

  4. 「OK」をクリックします。

8.2.6 実行時の処理: アクション・セットによるステータス・メッセージの表示

アクション・セットが起動されると、Statusプロパティがステータス・メッセージを表示するように構成されていれば、ステータス・メッセージが表示されます。図8-9は、EditCustomers-DT.xlsxワークブックのUploadリボン・コマンドに構成されているアクション・セットが実行される際、実行時に表示されるステータス・メッセージを示しています。

図8-9 ステータス・メッセージの実行時の表示

ステータス・メッセージの実行時の表示

実行時にMessageプロパティの値が空の場合、ADFデスクトップ統合ではデフォルトのローカライズされた値が指定されます。Titleプロパティが空の場合、アクション・セット・コンテナ(ボタンまたはリボン・コマンドなど)のラベルが使用されます。コンテナのラベルも空の場合、ADFデスクトップ統合により提供されたデフォルト値が使用されます。

8.2.7 進捗バーに関する留意事項

進捗バーに関する次の情報に気をつけてください。

  • アクション(alertconfirmdialogまたはupload optionsなど)がユーザーの入力を求めると、進捗バー・ウィンドウは自動的に非表示になります。

  • ADFmActionなどの一部のアクション・タイプは、詳細バーでの進捗の増分の表示をサポートしていません。たとえば、図8-10に、ModeBothBarsAlwaysに設定されたCommitアクションの進捗バーを示します。詳細バーは表示されていますが、進捗を示してはいないことに注意してください。

    図8-10 ADFmActionタイプの進捗バー

    ADFmActionタイプの進捗バー
  • Automaticモードで、アクション・セットに3つよりも少ないアクションしかない場合、ステータス・メッセージ・ダイアログには詳細な進捗バーのみが表示されます。アクション・セットに3つ以上のアクションがある場合、ダイアログにメイン・バーは必ず表示されますが、詳細な進捗バーは、アクション・セット内のいずれかのアクションが進捗の増分に対応している場合にのみ表示されます。どのアクションも進捗の増分に対応していない場合は、詳細バーは表示されません。

  • 必要な場合、メインの進捗バーを表示せずに、詳細な進捗バーを表示することができます。このような構成は、問合せを実行した後にデータをダウンロードするといった、1つのすばやいアクションと1つの長いアクションを含むアクション・セットには有用な場合があります。

  • 非常にすばやいアクション・セット(DisplayWorksheetErrorsなど)の場合、ベスト・プラクティスはステータス・メッセージを無効にすることです。

8.2.8 アクション・セットの起動後にアラートを発信する方法

エンド・ユーザーに対して、アクション・セットの操作が正常に完了したか、または失敗したかを通知するアラート・メッセージを表示できます。たとえば、アクション・セットのすべてのアクションが成功したときや、少なくとも1つは失敗があった場合にメッセージを表示できます。この動作は、ActionSet.Alertプロパティ・グループで構成します。


注意:

エンド・ユーザーがアクション・セットの実行をキャンセルした場合、アラート・メッセージは表示されません。たとえば、ポップアップ・ダイアログのWebページを起動するアクション・セットが実行を完了した後に表示されるようにアラート・メッセージを構成します。実行時には、エンド・ユーザーは、ポップアップ・ダイアログをホストするExcel Webブラウザ・コントロールの「閉じる」ボタンを使用してポップアップ・ダイアログを閉じることにより、アクション・セットの実行をキャンセルします。このシナリオでは、アラート・メッセージは表示されません。Webページの表示の詳細は、8.4項「Fusion WebアプリケーションからのWebページの表示」を参照してください。


「アクションの編集」ダイアログを使用して、ActionSet.Alertプロパティ・グループの値を構成します。

始める前に:

アクション・セットについて理解しておくと役立ちます。詳細は、8.2項「アクション・セットの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

アクション・セットにアラートを追加するには:

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

  2. 「アクションの編集」ダイアログを開きます。

  3. 表8-2に従って、ActionSet.Alertプロパティ・グループのプロパティの値を設定します。

    表8-2 ActionSet.Alertプロパティ・グループ

    プロパティ 入力または選択する値

    Enabled

    ドロップダウン・リストからTrueを選択すると、アクション・セットの完了時にアラート・メッセージが表示されます。デフォルト値はFalseです。

    FailureMessage

    アクション・セットの実行時にエラーが発生した場合に、ダイアログに表示されるメッセージに評価されるオプションのEL式またはリテラル値を指定します。たとえば、EditCustomers-DT.xlsxワークブックの「アップロード」ボタンでは、FailureMessageプロパティに次の値が構成されています。

    #{res['excel.customers.ribbon.download.alert.failure']}

    「ダウンロード」ボタンは、アクション・セットを起動します。これは、続いてADF表コンポーネントのUploadアクションを起動します。FailureMessageに指定されたEL式は、Downloadアクションでエラーがあった場合、エラー・メッセージを取得します。エラー処理の詳細は、12.4項「統合Excelワークブックでレポートされるエラー」を参照してください。

    OKButtonLabel

    ダイアログの「OK」ボタンに表示されるメッセージに評価されるオプションのEL式またはリテラル値を指定します。

    SuccessMessage

    アクション・セットの実行時にエラーが発生しなかった場合に、ダイアログに表示されるメッセージに評価されるオプションのEL式またはリテラル値を指定します。

    たとえば、EditCustomers-DT.xlsxワークブックの「ダウンロード」ボタンでは、SuccessMessageプロパティに次の値が構成されています。

    #{res['excel.customers.ribbon.download.alert.success']}


    図8-11は、EditCustomers-DT.xlsxワークブックでリボン・コマンドのAlertプロパティ・グループに構成された値を示しています。このリボン・コマンドには、実行時にDownloadというラベルが付きます。

    図8-11 アクション・セットのアラート・メッセージ・プロパティ

    ActionSetのアラート・メッセージ・プロパティ
  4. 「OK」をクリックします。

8.2.9 実行時の処理: アクション・セットによるアラート発信

図8-12は、Downloadというラベルの付いたADFボタン・コンポーネントによって起動されるアクション・セットが正常に実行を完了したときに実行時に表示されるアラート・メッセージを示しています。

図8-12 アラート・メッセージの実行時の表示

アラート・メッセージの実行時の表示

実行時にFailureMessageOKButtonLabelまたはSuccessMessageプロパティの値が空の場合、ADFデスクトップ統合ではデフォルトのローカライズされた値が指定されます。

8.2.10 アクション・セットのエラー処理の構成方法

アクション・セットのActionOptionsプロパティの値を指定して、次のイベントのいずれかが発生したときのアクション・セットの動作を決定します。

  • アクション・セットのアクションの失敗

  • アクション・セットのすべてのアクションが正常に完了

これらのエディタの起動方法、またはADFコンポーネントのプロパティ・インスペクタの詳細は、第5章「開発ツールの使用」を参照してください。 アクション・セットのプロパティの詳細は、表A-13を参照してください。

始める前に:

アクション・セットについて理解しておくと役立ちます。詳細は、8.2項「アクション・セットの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

アクション・セットのエラー処理を構成するには:

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

  2. 適切なエディタまたはプロパティ・インスペクタを開いて、表8-3に従ってアクション・セットのActionOptionsプロパティの値を構成します。

    表8-3 ActionOptionsプロパティ

    設定するプロパティ アクション

    AbortOnFailure

    True(デフォルト値)に設定すると、現在のアクションが失敗した場合、アクション・セットはそれ以降のアクションを一切実行しません。Falseに設定すると、前のアクションが成功か失敗かにかかわらず、アクション・セットはすべてのアクションを実行します。

    FailureActionID

    アクション・セットが正常に完了しなかった場合に起動するADFモデル・アクションを指定します。

    たとえば、アクション・セットの起動が失敗したときに、加えられた変更をロールバックするADFモデル・アクションを指定できます。

    FailureActionIDメソッドの実行中にレコード・セットの通貨を変更するアクション・セットの呼び出しは、サポートされていません。また、ロールバック・メソッドは、アクション・セットでFailureActionIDとして指定しないでください。

    SuccessActionID

    アクション・セットが正常に完了した場合に起動するADFモデル・アクションを指定します。

    たとえば、commitアクションを実行するアクション・バインディングを指定できます。このプロパティの値はオプションで、commitアクションを実行するアクション・バインディングなど、最終のアクションをアクション・セット自体に指定できます。

    SuccessActionIDメソッドの実行中にレコード・セットの通貨を変更するアクション・セットの呼び出しは、サポートされていません。


  3. 「OK」をクリックします。

8.2.11 アクション・セット内の確認アクションの起動方法

確認アクションはエンド・ユーザーに対して、Confirmationアクションのプロパティで指定されたタイトルとプロンプトのメッセージを表示する簡単なメッセージ・ダイアログを提供します。

アクション・セットの実行は、エンド・ユーザーが提供されたボタンをクリックするまで一時停止します。ユーザーが「OK」をクリックすると、アクション・セットはアクション・セットの残りのアクションを続けます。ユーザーが「取消」をクリックすると、その時点でアクション・セットは中止され、残りのアクションは起動されません。エラーや成功がないため、FailureActionIDアクションやSuccessActionIDアクションは起動されません。

始める前に:

アクション・セットについて理解しておくと役立ちます。詳細は、8.2項「アクション・セットの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

Confirmationアクションをコンポーネントから起動するには:

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

  2. 「アクションの編集」ダイアログを開き、ここの説明にあるように「追加」ボタンの下向き矢印をクリックしてドロップダウン・リストを開きます。

    ActionSetsの「追加」ボタン
  3. 「確認」を選択して、次のリストにあるようにプロパティを構成します。

    • CancelButtonLabel

      ダイアログの「取消」ボタンに表示されるメッセージに評価されるオプションのEL式またはリテラル値を指定します。

    • OKButtonLabel

      ダイアログの「OK」ボタンに表示されるメッセージに評価されるオプションのEL式またはリテラル値を指定します。

    • Prompt

      ダイアログのプロンプトとして表示されるメッセージに評価されるオプションのEL式またはリテラル値を指定します。

    • Title

      実行時に表示する確認ダイアログのタイトルに解決されるオプションのEL式またはリテラル値を指定します。

  4. オプションで、構成するアクションの目的に関するコメントをAnnotationプロパティに入力します。このプロパティに設定する値には、機能的な影響はありません。

  5. 「OK」をクリックします。

図8-13に、「ダウンロード」リボン・コマンドにデフォルトの属性値が指定された、「アクションの編集」ダイアログを示します。

図8-13 確認アクションの属性

確認アクション・ダイアログとデフォルトの属性

8.2.12 実行時の処理: アクション・セットによる確認の提供

一度アクション・セットが起動されると、ユーザーに対して確認のプロンプトが表示されます。ユーザーが「OK」をクリックすると、次のアクションが実行され、「取消」をクリックすると、アクション・セットの実行はエラーなしに終了します。


注意:

ユーザーがConfirmationアクションをキャンセルする場合、FailureActionIDバインディングは実行されません。


図8-14は、デフォルトの確認ダイアログと「OK」ボタン、および「取消」ボタンを示します。

図8-14 確認のダイアログ

実行時の確認アクションのダイアログ

実行時にCancelButtonLabelOKButtonLabelまたはPromptプロパティの値が空の場合、ADFデスクトップ統合ではデフォルトのローカライズされた値が指定されます。Titleプロパティが空の場合、アクション・セット・コンテナ(ボタンまたはリボン・コマンドなど)のラベルが使用されます。コンテナのラベルも空の場合、ADFデスクトップ統合により提供されたデフォルト値が使用されます。

8.3 実行時リボン・タブの構成

Oracle ADFの機能を起動するアイテムを持つExcelリボンの実行時リボン・タブを、統合Excelワークブックで構成できます。実行時リボン・タブ・グループでVisibleワークブック・プロパティをTrueに設定すると、このタブが実行時に表示されます。図8-15に示すように、Titleプロパティは、エンド・ユーザーに対して実行時に表示されるタブのタイトルを決定します。

図8-15 実行時リボン・タブのワークブック・プロパティ

実行時リボン・タブのワークブック・プロパティ

実行時にはタブがリボンの最後のタブとして表示され、図8-16に示すように、構成したすべてのコマンドが様々なタブのグループとして表示されます。

図8-16 リボン・タブの実行時の表示

「Oracle ADF」タブの実行時の表示

図8-17は、EditCustomers.xlsxの実行時のリボン・タブと、ワークシート用に構成された2つのコマンドを示しています。実行時には、コマンドはワークブックのコマンドを起動するアイテム、現在のワークシートのコマンドを起動するアイテム、すべてのデータをクリアするコマンド・グループ、ADFデスクトップ統合のバージョン情報を表示するコマンド・ワークグループの4つのグループに分類されます。

図8-17 EditCustomers.xlsxのリボン・タブの実行時の表示

EditCustomers.xlsxリボンの実行時の表示

エンド・ユーザーがワークブック・アクションを起動できるようにするコマンドが実行時リボン・タブに含まれるように、ワークブックのプロパティにあるWorkbook Commandsプロパティを構成します。ワークシートのプロパティにあるRibbon Commandsプロパティを構成して、ユーザーがアクション・セットを起動できるようにするアイテムがADFデスクトップ統合のタブに含まれるようにします。ワークシートのコマンド・アイテムは、ワークシートがアクティブな場合に表示されます。ワークブック・コマンドを削除すると、そのワークブックの実行時タブに表示されなくなります。あるグループのすべてのコマンドを削除すると、そのワークブックがアクティブなときはそのグループは表示されません。

図8-18は、SelectActionSetアクション・セットを起動するワークシートのアクションが表示される、実行時のワークシート・グループを示します。

図8-18 実行時のワークシート・グループ

実行時のワークシート・グループ

8.3.1 実行時リボン・タブのワークブック・コマンド・ボタンの構成方法

実行時リボン・タブにワークブック・コマンド・ボタンを定義するには、いくつかのワークブック・プロパティを構成します。次の手順は、ワークブックのアクション、Loginを例に使用して、ワークブック・グループのアイテムを作成または削除する方法を示します。

始める前に:

Excelの実行時リボン・タブについて理解しておくと役立ちます。詳細は、8.3項「実行時リボン・タブの構成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

ワークブックのコマンド・ボタンを定義するには:

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

  2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークブック・プロパティ」をクリックします。

  3. 「ワークブック・プロパティの編集」ダイアログで、実行時リボン・タブを展開してワークブック・コマンドを選択します。Workbook Commandsの横にある参照(...)アイコンをクリックして、図8-19のようにダイアログを表示します。

    図8-19 ワークブック・コマンドの編集ダイアログ

    ワークブックのメニュー項目のコレクションにメニュー項目が表示されます。
  4. 「追加」をクリックして、次のようにワークブックのコマンド・ボタンのプロパティの値を指定します。

    • Method

      ワークブック・コマンド・ボタンが起動するワークブック・アクションを指定します。

    • Label

      実行時にラベルとして表示される値を入力フィールドに入力します。あるいは、参照(...)アイコンをクリックして式ビルダーを起動し、リソース・バンドルの文字列に解決されるEL式を記述します。

      ラベルに表示される実行時の値は1024文字を超えることはできません。1024文字を超える実行時の値は、切り捨てられて1024文字のみが表示されます。

      リソース・バンドルの使用の詳細は、10.2項「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

      ラベルの詳細は、9.4項「統合Excelワークブックでのラベルの使用」を参照してください。

  5. 「OK」をクリックします。


注意:

ワークブック・コマンドの編集ダイアログでのワークブック・コマンドの順序は、実行時には無視されます。ワークブック・レベルのコマンドの順序とグループ化は、常に同じです。


8.3.2 実行時リボン・タブのワークシート・コマンド・ボタンの構成方法

ワークシートのコマンドを定義するには、プロパティ・インスペクタを使用してワークシートのプロパティを構成します。デフォルトでは、ワークシートのプロパティでワークシート・グループに定義されるコマンド・ボタンはありません。ワークシートのプロパティのRibbon Commandsプロパティで参照されるリストにメンバーを追加します。


注意:

コマンド・ボタンを表示するには、Runtime Ribbon Tab.Visibleワークブック・プロパティをTRUEに設定してください。Runtime Ribbon Tab.VisibleFALSEに設定されていると、コマンド・ボタンは表示されません。ワークブックのプロパティの詳細は、表A-18を参照してください。


始める前に:

Excelの実行時リボン・タブについて理解しておくと役立ちます。詳細は、8.3項「実行時リボン・タブの構成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

ワークシートのコマンド・ボタンを定義するには:

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

  2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークブック・プロパティ」をクリックします。

  3. 「ワークシート・プロパティの編集」ダイアログで、Ribbon Commandsプロパティの入力フィールドの横にある参照(...)アイコンをクリックして、図8-20のようにエディタを起動します。図8-18は、実行時のコマンドがどのように表示されるかを示します。

    図8-20 リボン・コマンドの編集ダイアログ

    WorksheetMenuItemコレクション・エディタ
  4. 「追加」をクリックして、コレクション・エディタの「メンバー」リストに新しいリボン・ボタンを追加します。

  5. 「SelectActionSet」のプロパティを構成して、リボン・ボタンが起動するアクションのタイプを指定します。

  6. 「OK」をクリックします。


注意:

  • 実行時には、ワークシート・コマンドはリボン・コマンドの編集ダイアログで定義された順序で表示されます。

  • ツールバーのリボン・コントロールは、すべての開いている統合ワークブックで共有されます。ツールバーの同じ場所を占める、異なるリボン・ボタンを使用している、2つ以上のワークブックを開いている場合、Excelではすべての開いているワークブックのうち最初に開かれたワークブックのキー・ヒントが必ず表示されます。これはExcelの制限です。


8.4 Fusion WebアプリケーションからのWebページの表示

アクション・セットでDialogアクションを構成して、Excelワークブックと統合するFusion Webアプリケーションからのページを表示します。これらのページによって、統合Excelワークブックに追加の機能が提供されます。これには、Fusion Webアプリケーションと対話する検索ダイアログや表示内容の選択ダイアログなどの機能があります。アップロード・オプションも構成できます。

アクション・セットのDialogアクションは、次の2つのタイプのダイアログのどちらかを表示するように構成できます。

コンポーネントのアクション・セットのプロパティDialog.Target(PopupまたはTaskPane)は、Webページがレンダリングされる場所を決定します。

Dialog.Pageプロパティの値は、アクションの起動時に表示されるWebページを指定します。有効な値は、WebAppRootプロパティの値の相対URL、または絶対URLです。

たとえば、EditableCustomerSearch-DT.xlsxワークブックは、ユーザーが実行時に顧客のフィルタリボン・コマンドをクリックすると起動するページの値として次の相対URLを指定します。

/faces/external/searchForm.jspx

次のような絶対URLも有効です。

http://www.oracle.com/technetwork/middleware/fusion-middleware/overview/index.html

注意:

DialogアクションはADFタスク・フローをサポートしていません。


8.4.1 ポップアップ・ダイアログでのWebページの表示方法

アクション・セットのDialogアクションを構成して、ExcelのWebブラウザ・コントロールによりホストされているモデル・ポップアップ・ダイアログのFusion WebアプリケーションからWebページを起動できます。この機能は、たとえばFusion Webアプリケーションからのページにより表示される値を、統合Excelワークブックに入力できるようにする機能をエンド・ユーザーに提供します。

アクション・セットが起動するWebページは、大/小文字区別のID属性がADFdi_CloseWindowに設定されている予約済HTML<span>要素を含む必要があります。

例8-1は、span要素の値を、f:verbatimタグのrenderedプロパティを使用して自動的に設定する方法を示します。

例8-1 予約済HTML <span>要素

<f:verbatim rendered="#{requestScope.searchAction eq 'search'}">
                <span id="ADFdi_CloseWindow">Continue</span>
        </f:verbatim>
<f:verbatim rendered="#{requestScope.searchAction eq 'cancel'}">
                <span id="ADFdi_CloseWindow">Abort</span>
        </f:verbatim>

図8-21は、EditableCustomerSearch-DT.xlsxワークブックのブラウザ・コントロールによりホストされるsearchForm.jspxページを示しています。

図8-21 「検索」ポップアップ・ダイアログ

「検索」ポップアップ・ダイアログ

例8-1に示すように、f:verbatimタグのrenderedプロパティが使用できない場合には、次のようにしなければならない場合があります。

  1. Dialogアクションの結果の値をプロパティとして公開するバッキングBeanを作成します。

  2. アクション・リスナーを使用して、バッキングBeanおよび<span>要素のEL式を起動し、ADFdi_CloseWindowの値をBeanプロパティの値に設定します。

どちらの方法を使用する場合でも、ADFデスクトップ統合はADFdi_CloseWindowの値を監視して、ポップアップ・ダイアログをいつ閉じるかを決定します。ADFdi_CloseWindowが参照するものによって、次のように動作が異なります。

  • 空白の文字列を参照する場合、または文字列が存在しない場合は、ポップアップ・ダイアログは開いたままになります。

  • "Continue"を参照する場合、ポップアップ・ダイアログが閉じて、アクション・セットが次のアクションを起動します。

    次の例は、"Continue"という値が割り当てられたADFdi_CloseWindowを示します。

    var closeWindowSpan = document.getElementById("ADFdi_CloseWindow");

    closeWindowSpan.innerHTML = "Continue";

  • 他のなんらかの文字列の値を参照する場合、ポップアップ・ダイアログは開いたままになります。

DialogアクションのTargetプロパティをPopupに設定して、ExcelのWebブラウザ・コントロールによりホストされるモーダルなポップアップ・ダイアログでFusion WebアプリケーションからのWebページを表示します。モーダルなポップアップ・ダイアログにWebページを表示する場合は、Excelの作業ウィンドウにWebページを表示するときとは異なります。これは、アクション・セットが起動するDialogアクションは、ユーザーからの入力があるまで実行を続けられないためです。ポップアップ・ダイアログが開いているときに、エンド・ユーザーは統合Excelワークブックの他の部分と対話することはできません。ポップアップ・ダイアログがフォーカスを保持します。

エンド・ユーザーは、ブラウザ・コントロールを閉じたり、ADFデスクトップ統合がブラウザ・コントロールを閉じるまでは、ブラウザ・コントロール内でFusion Webアプリケーションからの複数のWebページ間を移動できます。

エンド・ユーザーがデータ・コントロールに対して行う変更をポップアップ・ダイアログを通じてすぐに同期するには、アクション・セットの次のアクションをDialogアクションの後に指定して、変更されたすべてのバインディングをワークシート(DownSyncワークシート・アクションを使用)またはADF表コンポーネント(Downloadアクションを使用)にダウンロードします。このシナリオでは、"Continue"ADFdi_CloseWindowの値として指定することが前提です。


注意:

  • エンド・ユーザーが統合Excelワークブックをダウンロードできるように、ポップアップ・ダイアログに表示されるWebページを構成する場合、エンド・ユーザーがダウンロード後にワークブックを開くと、統合ExcelワークブックのOracle ADF機能は無効になります。

  • リスト・ボックスやドロップダウン・リストなどのHTML <select>コンポーネントを使用している場合、ページがDialogアクションによって表示されるときは<select>コンポーネントはz-orderの構成に従わない点に注意してください。.NET Webブラウザ・コントロールでは、レイヤー化された重複するコンポーネントを持つWebページ上で、<select>コンポーネントが他のコンポーネントの上に表示されることがあります。

  • Titleプロパティが空白の場合、Webページのタイトルがダイアログ・ウィンドウのタイトルとして使用されます。


8.4.2 ADFデスクトップ統合の実行時作業ウィンドウでのWebページの表示方法

アクションのDialog.TargetプロパティをTaskPaneに設定して、ADFデスクトップ統合の作業ウィンドウのDialog.Pageプロパティで指定したWebページを表示できます。ポップアップ・ダイアログでWebページを表示するのとは対照的に、作業ウィンドウでWebページを表示すると、Webページを表示する間はアクション・セットでアクションの実行を継続できます。エンド・ユーザーは、Webページが表示されている間、統合Excelワークブックの他の部分にアクセスして対話することができます。


注意:

  • Titleプロパティが空白の場合、タスク・ペインのタイトルも空白のままです。

  • DialogアクションのTargetプロパティをTaskPaneに設定すると、ADFデスクトップ統合はADFdi_CloseWindowの値(および他の要素)を無視します。


8.4.3 Fusion Webアプリケーションからのページ表示に関する留意事項

Dialogアクションを起動するアクション・セットで追加のアクションを指定すれば、統合Excelワークブックに含まれるデータを、Fusion Webアプリケーションと同期した状態にできます。DialogアクションのShareFrameプロパティを設定することにより、Fusion Webアプリケーション・ページと統合Excelワークシートの両方が同じデータ・コントロール・フレームを使用するよう徹底することができます。


注意:

  • カスタムのWebページがADF Facesに基づいていてポップアップ・ウィンドウを開く場合、そのWebページが正しく機能するには特定の方法で構成されている必要があります。コマンド・コンポーネントで、windowEmbedStyleinlineDocumentに設定してください。詳細は、『Oracle ADF FacesによるWebユーザー・インタフェースの開発』を参照してください。

  • Dialog.PageプロパティではEL式は受け入れられません。


8.4.3.1 統合ExcelワークブックとFusion Webアプリケーションの同期

エンド・ユーザーがFusion Webアプリケーションからのページを使用する際に、統合ExcelワークブックとFusion Webアプリケーションが同期された状態のままとなるように、Dialogアクションを起動するアクション・セットを次のように構成します。

  • Dialogアクションを起動する前に、統合ExcelワークブックからFusion Webアプリケーションに変更を送信します。

    RowUpSyncワークシート・アクションを起動して、ADF表コンポーネントの現在の行からの変更を同期します。

  • Dialogアクションを起動した後、Fusion Webアプリケーションから統合Excelワークブックに変更を送信します。

    RowDownSyncワークシート・アクションを起動して、Fusion WebアプリケーションからADF表コンポーネントの現在の行へ変更を送信します。

DoubleClickActionSetについては、アクション・セットを実行した後で、サーバー・サイド・モデルがアクション・セットの実行前と同じ状態にあることを確認してください。ほとんどの場合は、アクション・セットの開始時には保留のコミットされていない変更はないため、DoubleClickActionSetの終了ごとにすべてのコミットされていない変更をロールバックするだけで十分です。

統合ExcelワークブックとFusion Webアプリケーション間でのデータ同期の詳細は、第15章「切断されたモードでの複数のWebセッションにおける統合Excelワークブックの使用」を参照してください。 ワークシート・アクションとADF表コンポーネント・アクションの詳細は、付録A「ADFデスクトップ統合コンポーネントのプロパティとアクション」を参照してください。

8.4.3.2 統合ExcelワークシートとFusion Webアプリケーション・ページ間のデータ・コントロール・フレームの共有

Fusion Webアプリケーションと統合Excelワークブックは、どちらもデータ・コントロール・フレームを使用して、トランザクションとビュー・オブジェクトの状態、および拡張機能によってページ定義ファイルで公開されるバインディングを管理します。Fusion Webアプリケーションのページを統合Excelワークシートから起動すると、ページを起動するDialogアクションのShareFrameプロパティをTrueに設定することで、ページと統合Excelワークシートが両方とも同じデータ・コントロール・フレームを使用するように徹底できます。

DialogアクションのPageプロパティで、Dialogアクションが起動するページを指定します。Dialogアクションが絶対URLやFusion Webアプリケーションの一部でないページを起動する場合、ShareFrameTrueに設定されていると、ADFデスクトップ統合はShareFrameの値を無視します。

次のシナリオではShareFrameFalseに設定します。

  • アクション・セットのDialog.Pageプロパティは、絶対URLまたはFusion Webアプリケーションの一部でないページを参照します。

  • アクション・セットのDialog.Pageプロパティは、Fusion Webアプリケーションの一部であるページを参照しますが、統合Excelワークシートと情報を共有する必要はありません。たとえば、オンライン・ヘルプの情報を表示するページなどです。

Fusion Webアプリケーションのデータ・コントロール・フレームの詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発のタスク・フロー間のデータ・コントロールの共有に関する項を参照してください。

8.4.3.3 ADFデスクトップ統合フレーム共有に対するFusion Webアプリケーションの構成

ADFデスクトップ統合の機能をFusion Webアプリケーションに追加する際、アプリケーションが自動的に構成されて、ADFデスクトップ統合のフレーム共有がサポートされます。フレーム共有によって、統合Excelワークブックの各ワークシートが専用のDataControlフレームを使用できます。それぞれのワークシートから起動されるダイアログで表示されるWebページは、統合Excelワークシートと同じDataControlフレームを共有できます。

Fusion Webアプリケーションがフレーム共有をサポートしていることを検証するには:

  1. JDeveloperでFusion Webアプリケーション・プロジェクトを開きます。

  2. 「アプリケーション」ウィンドウで、「アプリケーション・リソース」パネルを展開します。

  3. 「ディスクリプタ」「ADF META-INF」ノードにあるadf-config.xmlファイルを開きます。

  4. 「ソース」タブをクリックして、ソース・エディタを開きます。

  5. 次のadf-desktopintegration-servlet-config要素が、</adf-config>タブの前のファイルにあることを確認します。

    <adf-desktopintegration-servlet-config xmlns="http://xmlns.oracle.com/adf/desktopintegration/servlet/config"> 
        <controller-state-manager-class>
           oracle.adf.desktopintegration.controller.impl.ADFcControllerStateManager
        </controller-state-manager-class>
    </adf-desktopintegration-servlet-config>
    
  6. adf-config.xmlファイルを保存して、JDeveloperを閉じます。

8.5 ADF表の列へのカスタム・ポップアップ・ピッカー・ダイアログの追加

ADF表コンポーネントの列のサブコンポーネント(UpdateComponentまたはInsertComponent)のDoubleClickActionSetを構成して、エンド・ユーザーがADF表コンポーネントの列に挿入する値を選択する場合にピッカー・ダイアログをレンダリングするFusion Webアプリケーション・ページを起動できます。

この機能は、エンド・ユーザーがADF表コンポーネントに入力できる値を制限する場合に役立ちます。たとえば、エラーが発生しないようにエンド・ユーザーが手動で値を変更できないようにするため、実行時のADF表コンポーネント列をExcelワークシートで読取り専用にしたい場合などです。Fusion Webアプリケーションによってレンダリングされたピッカー・ダイアログを起動すると、エンド・ユーザーは正しくないデータを入力することなくADF表コンポーネントの値を変更できるようになります。

DoubleClickActionSetを構成するほか、次のようにする場合は、ADF表コンポーネントのRowData.CachedAttributesプロパティを属性バインディングの値を参照するように構成します。

選択ダイアログへの値の移入の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』の「データバインドされた選択リストとシャトルの作成」の章を参照してください。

ADF表コンポーネントからカスタム・ピッカー・ダイアログを起動するには:

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

  2. ADF表コンポーネントを配置するExcelワークシートのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックして、プロパティ・インスペクタを表示します。

  3. ADF表コンポーネントのRowData.CachedAttributesプロパティを構成して、属性バインディング値を参照します。

  4. Columnsの入力フィールドの横にある参照(...)アイコンをクリックして、「列の編集」ダイアログを表示します。

  5. 「メンバー」・リストで、エンド・ユーザーが実行時にピッカー・ダイアログを起動する元の列を選択します。

  6. 列のサブコンポーネント(UpdateComponentまたはInsertComponent)のDoubleClickActionSetActions属性を、表8-4に示すように構成します。

    表8-4 DoubleClickActionSetプロパティ

    追加するアクション アクション

    ADFmAction

    (InsertComponentの場合のみ)エンド・ユーザーがExcelワークシートのADF表コンポーネントで新しく作成された行からDoubleClickActionSetを起動する場合、CreateInsertアクション・バインディングを起動します。このシナリオでは、ADF表コンポーネントのRowUpSyncアクション(次のアクションで起動)は、Fusion Webアプリケーションにプレースホルダの行が含まれていない場合は失敗します。

    ComponentAction

    ADF表コンポーネントのTable.RowUpSyncアクションを起動して、ADF表コンポーネントの現在の行にあるFusion Webアプリケーションに対するすべての保留中の変更を同期します。

    Dialog

    Dialogアクションを構成して、Fusion Webアプリケーションからピッカー・ダイアログを起動します。DialogアクションのShareFrameプロパティをTrueに設定します。詳細は、8.4項「Fusion WebアプリケーションからのWebページの表示」を参照してください。

    ComponentAction

    ADF表コンポーネントのTable.RowDownSyncアクションを起動して、ワークシートの現在のADF表コンポーネント行に相当するFusion WebアプリケーションのADF表コンポーネントのイテレータの行からのデータを同期します。

    ADFmAction

    (InsertComponentの場合のみ)CreateInsertアクション・バインディングを追加した場合、Deleteアクション・バインディングも起動してプレースホルダ行を削除する必要があります。


    図8-22は、DoubleClickActionSetプロパティの「アクションの編集」ダイアログを示します。

    図8-22 DoubleClickActionSetプロパティ

    この図はDoubleClickActionSetのプロパティを示します。
  7. 「OK」をクリックします。

8.6 統合Excelワークブックでのデータ・バインドされたADF検索フォームの作成

ADF入力テキスト・コンポーネントとADFボタン・コンポーネントを使用して、統合Excelワークブックでフォームを作成できます。エンド・ユーザーは、作成されたフォームを使用して、データや情報の問合せを挿入できます。この項では後者の例を使用して、フォームの作成方法を説明します。

エンド・ユーザーはADF入力テキスト・コンポーネントに検索語句を入力し、ADFボタン・コンポーネントをクリックして一致する結果を取得します。検索処理でエンド・ユーザーにより洗練されたユーザー・インタフェースを提示するために、Fusion Webアプリケーションから検索フォームを起動できます。これらの検索処理の結果は、統合ExcelワークブックのADF表コンポーネントまたはADF読取り専用コンポーネントにダウンロードできます。

図8-23に、検索オプションを構成するのに使用されるOracle ADFコンポーネントの設計時の表示の例を示します。

  1. ADFラベル・コンポーネントが単純検索フォームで使用されている

  2. ADF入力テキスト・コンポーネントが単純検索フォームで使用されている

  3. ADFボタン・コンポーネントが単純検索フォームで使用されている

  4. ADFボタン・コンポーネントが拡張検索フォームを起動するために使用されている

図8-23 検索用のOracle ADFコンポーネント

検索用のADFコンポーネント

注意:

ADFデスクトップ統合は、ページ定義ファイルでのFindMode属性の使用はサポートしていません。FindMode属性の詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発pageNamePageDef.xmlに関する項を参照してください。


8.6.1 統合Excelワークブックの検索フォームの作成方法

エンド・ユーザーが検索語句を入力できるように、ADF入力テキスト・コンポーネントを挿入して構成します。ADFボタン・コンポーネントの挿入およびアクション・セットの構成は、次の目的で実行します。

  1. エンド・ユーザーがADF入力テキスト・コンポーネントに入力する値の取得。

  2. 値の問合せ。

  3. 結果を統合ExcelワークブックのADF表コンポーネントまたはADF読取り専用表コンポーネントにダウンロード。

始める前に:

ADFデータ・バインド検索フォームについて理解しておくと役立ちます。詳細は、8.6項「統合Excelワークブックでのデータ・バインドされたADF検索フォームの作成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

統合Excelワークブックで単純検索フォームを作成するには:

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

  2. エンド・ユーザーに検索条件を入力させるExcelワークシートのセルにADF入力テキスト・コンポーネントを挿入します。

  3. ユーザーが入力する検索語句を属性バインディングに割り当てるように、ADF入力テキスト・コンポーネントを構成します。

    図8-24に、ADF入力テキストコンポーネントがユーザー入力の値をsearchTerm属性バインディングに割り当てる例を示します。可変イテレータの一部であるsearchTermは、続いてNamedData引数としてexecuteSimpleProductQueryメソッドに渡されます。

    図8-24 単純検索フォームのADF入力テキスト・コンポーネント

    単純検索フォームのADF入力テキスト・コンポーネント
  4. オプションで、ADF入力テキスト・コンポーネントにスタイルを割り当てて、セルに検索語句を入力できることをエンド・ユーザーに示します。

  5. オプションで、隣接するセルにADFラベル・コンポーネントを作成し、手順2で作成したADF入力テキスト・コンポーネントに検索語句を入力できることをエンド・ユーザーに示します。

  6. ExcelワークシートにADFボタン・コンポーネントを作成します。

  7. ADFボタン・コンポーネントのLabelプロパティを、実行時に文字列を表示するようにボタンをクリックすれば検索処理を実行できることをエンド・ユーザーに示します。

  8. 「アクションの編集」ダイアログを開いて、ADFボタン・コンポーネントのClickActionSetプロパティのアクションの配列(Actionリスト)を構成します。表8-5は、順番に起動するアクションについて説明します。

    表8-5 ADFボタン・コンポーネントのClickActionSetプロパティ

    追加するアクション アクション

    Worksheet

    UpSyncワークシート・アクションを起動して、ADF入力テキスト・コンポーネントやADF値リスト・コンポーネントをホストするセルに入力された値をFusion Webアプリケーションにコピーします。ワークシート・アクションの詳細は、A.13項「ワークシートのアクションとプロパティ」を参照してください。

    ADFmAction

    手順3で指定した属性バインディングにバインドされたADFモデル・アクションを起動します。ADFモデル・アクションは、属性バインディングによって参照されるエンド・ユーザーの検索語句に対して問合せを実行します。

    Worksheet

    DownSyncワークシート・アクションを起動して、Fusion Webアプリケーションからのすべての保留中の変更を、ワークシートのADF入力テキスト・コンポーネント、ADF出力テキスト・コンポーネント、ADF値リスト・コンポーネントに同期します。ワークシート・アクションの詳細は、A.13項「ワークシートのアクションとプロパティ」を参照してください。

    Component

    ADF表コンポーネントまたはADF読取り専用表コンポーネントからDownloadアクションを起動して、指定した検索条件と一致する結果をダウンロードします。


  9. 「OK」をクリックします。

    図8-25に、ADFボタン・コンポーネントが、エンド・ユーザーがADF入力テキスト・コンポーネントに入力した検索語句を使用して、executeSimpleProductQueryアクション・バインディングを起動する例を示します。

    図8-25 単純検索フォームのADFボタン・コンポーネント

    単純検索フォームのADFボタン・コンポーネント

8.6.2 統合ExcelワークブックのWebページを使用した検索フォームの作成方法

ADFボタン・コンポーネントまたはリボン・コマンドを使用して、検索フォームをエンド・ユーザーに表示するFusion Webアプリケーションからページを起動することができます。ADFボタン・コンポーネントのアクション・セットを構成して、検索処理の検索結果が統合Excelワークブックにダウンロードされるように、ADF表コンポーネントまたはADF読取り専用コンポーネントについてDownloadアクションを起動します。

Fusion Webアプリケーションでの検索フォームの作成の詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発のデータ・バインドされたADF検索フォームの作成に関する項を参照してください。

始める前に:

ADFデータ・バインド検索フォームについて理解しておくと役立ちます。詳細は、8.6項「統合Excelワークブックでのデータ・バインドされたADF検索フォームの作成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

統合ExcelワークブックからWebページを起動するには:

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

  2. ADFボタン・コンポーネントまたはリボン・コマンドをExcelワークシートに作成します。

  3. 実行時に文字列を表示するようにコンポーネントのLabelプロパティを設定し、ボタンをクリックすれば検索処理を実行できることをエンド・ユーザーに示します。

  4. 「アクションの編集」ダイアログを使用して、コンポーネントのClickActionSetプロパティ(リボン・コマンドを構成している場合にはSelectActionSetプロパティ)のアクションの配列(Actionリスト)を構成します。表8-6は、順番に起動するアクションについて説明します。

    表8-6 拡張検索フォームを起動するアクション

    追加するアクション アクション

    Dialog

    検索フォームを含むFusion Webアプリケーションからのページを表示します。Fusion Webアプリケーションからのページを表示する詳細は、8.4項「Fusion WebアプリケーションからのWebページの表示」を参照してください。

    ComponentAction

    ADF表コンポーネントまたはADF読取り専用表コンポーネントからDownloadアクションを起動して、指定した検索条件と一致する結果をダウンロードします。


  5. 「OK」をクリックします。

図8-26に、リボン・コマンドのSelectActionSetDialogアクション、その後にADF表コンポーネントのDownloadアクションが含まれる、EditableCustomerSearch-DT.xlsxワークブックの例を示します。エンド・ユーザーがリボン・コマンドを起動すると、Dialogアクションは検索ページ(searchForm.jspx)をブラウザ・ウィンドウに表示します。エンド・ユーザーが検索ページに検索条件を指定し、そこでSearchボタンを選択すると、ADF表コンポーネントのDownloadアクションが実行されます。これにより、指定した検索条件に一致する行が統合ワークシートに取得されます。

図8-26 Webページを開くように構成されたリボン・コマンド

Webページを開くように構成されたリボン・コマンド

図8-27に、実行時にWebページの検索フォームを示します。

図8-27 Webページの検索フォーム

Webページの検索フォーム

8.7 統合Excelワークブックでのフォームの作成

第6章「ADFデスクトップ統合フォーム・タイプ・コンポーネントの使用」の説明にあるADFデスクトップ統合コンポーネントを使用して、統合Excelワークブックでフォームを作成できます。これらのコンポーネントは、エンド・ユーザーに対して、表タイプ・コンポーネントにより提供される機能を使用してFusion Webアプリケーションからのデータ行をダウンロードするのでなく、個々のフィールドを表示、閲覧する機能を提供するときに役立ちます。次のコンポーネントを使用してフォームを作成します。

図8-28 統合Excelワークブックのフォームの実行時の表示

統合Excelワークブックのフォームの実行時の表示

ADFデスクトップ統合の作業ウィンドウを使用して、必要なコンポーネントをワークシートに挿入します。

統合Excelワークブックでフォームを作成するには:

  1. 完了したフォームにどのADFフォーム・コンポーネントが必要かを決定し、それを統合Excelワークシートに挿入します。

    これらのコンポーネントの詳細は、第6章「ADFデスクトップ統合フォーム・タイプ・コンポーネントの使用」を参照してください。

  2. 挿入するコンポーネントのレイアウトと外観を構成します。

    コンポーネントの外観の構成の詳細は、第9章「統合Excelワークブックの外観の構成」を参照してください。

  3. フォームをテストします。

    統合Excelワークブックのテストの詳細は、第13章「統合Excelワークブックのテスト」を参照してください。

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

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

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

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

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

LOV列とDLOV列を示す図

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

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

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

構成 要件

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

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

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

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

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

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

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

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

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

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

TreeNodeListサブコンポーネントを使用して、ADF値リスト・コンポーネントで親の値リストを、ADF表コンポーネント列で子の値リストをそれぞれレンダリングします。

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

詳細は、8.8.5項「ExcelワークシートおよびADF表コンポーネント列での依存値リストの作成」を参照してください。


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

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

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

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

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

始める前に:

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

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

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

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

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

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

  3. 6.6項「ADF値リスト・コンポーネントの挿入」の説明に従って、2つのADF値リスト・コンポーネントを統合Excelワークブックに挿入します。

  4. 依存値リストで親となるADF値リスト・コンポーネントのプロパティ・インスペクタで、ListOfValues.ListIDプロパティの値を親となるリスト・バインディングに設定します。

  5. 依存値リストで子となるADF値リスト・コンポーネントのプロパティ・インスペクタで、次のプロパティを設定します。

    • ListOfValues.ListID

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

    • ListOfValues.DependsOnListID

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

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

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

      Excelワークシートの設計時の依存値リスト
  6. 「OK」をクリックします。

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

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

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

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

Excelワークシートの実行時の依存値リスト

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

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

ツリー・バインディング属性を親のTreeNodeListサブコンポーネントのListプロパティの値に指定します。また、ツリー・バインディング属性を子のTreeNodeListサブコンポーネントのListプロパティに、親のTreeNodeListサブコンポーネントにより参照される同じツリー・バインディング属性をDependsOnListプロパティの値にそれぞれ指定します。

両方のツリー・バインディング属性が、ツリー・バインディングをページ定義ファイルに追加する前に、モデルドリブン・リストに関連付けられていることを確認してください。モデルドリブン・リストの作成の詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発のモデルドリブン・リストの作成方法に関する項を参照してください。ページ定義ファイルへのツリー・バインディングの追加の詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

TreeNodeListサブコンポーネントの詳細は、A.6項「TreeNodeListサブコンポーネントのプロパティ」を参照してください。

始める前に:

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

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

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

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

  2. 存在しない場合は、ADF表コンポーネントを挿入します。

    詳細は、7.3項「ExcelワークシートへのADF表コンポーネントの挿入」を参照してください。

  3. Columnsの入力フィールドの横にある参照(...)アイコンをクリックすることにより、ADF表コンポーネントのプロパティ・インスペクタで、「列の編集」ダイアログを起動します。

  4. 新しい列を追加(または既存の列を変更)して親の値リストとします。列のサブコンポーネント・タイプとしてTreeNodeListを指定します。値リストの作成の詳細は、7.14項「ADF表コンポーネント列での値リストの作成」を参照してください。

  5. 新しい列を追加(または既存の列を変更)して子の値リストとします。列のサブコンポーネント・タイプとしてTreeNodeListを指定します。値リストの作成の詳細は、7.14項「ADF表コンポーネント列での値リストの作成」を参照してください。

  6. 親の値リストのツリー・バインディング属性をDependsOnListプロパティの値として、子の値リストの列に指定します。

    図8-32は、依存TreeNodeListサブコンポーネントのプロパティ・インスペクタを示しています。ここでは、RegionIdツリー・バインディング属性が親の値リストに指定され、CountryIdツリー・バインディング属性が子の値リストに指定されます。

    図8-32 ADF表コンポーネント列の設計時の依存値リスト

    表コンポーネントの設計時の依存値リスト
  7. 「OK」をクリックします。

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

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

図8-33は、Region列の値リストでエンド・ユーザーが選択する値が、Country列の値リストに表示されるサブカテゴリの対応する値となる様子を示しています。

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

表コンポーネント列の実行時の依存値リスト

注意:

子のリストと親のリストが同じADF表コンポーネントの列にバインドされている場合、エンド・ユーザーが親リストの選択内容を変更すると、現在の行の子のリスト項目のみが変更されます。


8.8.5 ExcelワークシートおよびADF表コンポーネント列での依存値リストの作成

ADF値リスト・コンポーネントのインスタンスとTreeNodeListサブコンポーネントのインスタンスを使用して、親と子の値リストをレンダリングする依存値リストを作成します。

  • Excelワークシートの親の値リスト

    ADF値リスト・コンポーネントのインスタンスは、親の値リストをExcelワークシートにレンダリングします。

  • ADF表コンポーネント列の子の値リスト

    TreeNodeListサブコンポーネントのインスタンスは、子の値リストをADF表コンポーネント列にレンダリングします。

親のADF値リスト・コンポーネントのListIDプロパティの値として、リスト・バインディングを指定します。ツリー・バインディング属性を子のTreeNodeListサブコンポーネントのListプロパティに、親のADF値リスト・コンポーネントによって参照される同じリスト・バインディングをDependsOnListプロパティの値にそれぞれ指定します。

ツリー・バインディング属性が、ツリー・バインディングをページ定義ファイルに追加する前に、モデルドリブン・リストに関連付けられていることを確認してください。モデルドリブン・リストの作成の詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発のモデルドリブン・リストの作成方法に関する項を参照してください。ページ定義ファイルへのリストおよびツリー・バインディングの追加の詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

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

始める前に:

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

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

ExcelワークシートとADF表コンポーネント列に依存値リストを作成するには:

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

  2. 6.6項「ADF値リスト・コンポーネントの挿入」の説明に従って、ADF値リスト・コンポーネントを統合Excelワークブックに挿入します。

  3. ADF値リスト・コンポーネントのプロパティ・インスペクタで、ListIDプロパティの値を、依存値リストで親の値リストとなるリスト・バインディングに設定します。

  4. 「OK」をクリックします。

  5. 、ADF表コンポーネントのプロパティ・インスペクタを開き、Columnsの入力フィールドの横にある参照(...)アイコンをクリックすることにより、「列の編集」ダイアログを起動します。

  6. 「追加」をクリックして、実行時の依存値リストで子の値リストとなる新しい列をADF表コンポーネントに追加します。

  7. 新しく作成した列に適切なオプションを選択します。

    • InsertComponentの入力フィールドの横にある参照(...)アイコンをクリックして、挿入操作の実行時の値リストを構成します。

    • UpdateComponentの入力フィールドの横にある参照(...)アイコンをクリックして、更新操作とダウンロード操作の実行時の値リストを構成します。

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

  8. TreeNodeListを選択して、「OK」をクリックします。

  9. 手順7で選択したプロパティを展開して、次のように値を構成します。

    • 3でADF値リスト・コンポーネントのListIDプロパティの値に指定したものと同じリスト・バインディングを、DependsOnListプロパティの値として選択します。

    • Listプロパティのモデルドリブン・リストに関連付けられたツリー・バインディング属性を選択します。

    • 必要に応じてReadOnlyプロパティを構成します。

  10. 「OK」をクリックします。

    図8-34は、WarehouseLocations-DT.xlsxの子のADFデスクトップ統合のツリー・ノード・コンポーネントのADF表プロパティ・インスペクタを示し、ここでRegionListリスト・バインディングは、親の値リストとして指定されます。

    図8-34 ExcelワークシートおよびADF表コンポーネント列の設計時の依存値リスト

    表とワークシートの設計時の依存値リスト

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

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

図8-35に、エンド・ユーザーがRegion値リストで選択する値によって、ADF表コンポーネントのCountry列に表示される値リストが決まる、WarehouseLocations-DT.xlsxの例を示します。

図8-35 ExcelワークシートおよびADF表コンポーネント列の実行時の依存値リスト

表とワークシートの実行時の依存値リスト

注意:

親のリストがワークシートのセルにバインドされて、子のリストがADF表コンポーネント列にバインドされている場合、エンド・ユーザーが親リストの選択内容を変更すると、表のすべての行に対して子のリスト項目が更新されます。


8.9 Excel式を生成するためのEL式の使用

EL式を使用して、ADFコンポーネントの値としてExcel式を生成できます。たとえば、EL式でHYPERLINK関数を使用できます。EL式でExcelのHYPERLINK関数を使用する場合、ADF出力テキスト・コンポーネントなどのOracle ADFコンポーネントを使用して、実行時にハイパーリンクを表示するには、HYPERLINK関数をExcelのT関数内に囲む必要があります。

ADFデスクトップ統合はExcelの式を認識するため、HYPERLINK関数を囲む必要があります。これを回避するには、HYERLINK関数の回りにT関数を配置して、HYPERLINK関数の値がT関数によって評価されるようにします。結果の値は、ADFコンポーネントが参照するExcelのセルに挿入されます。HYPERLINK Excel関数を起動するEL式を記述する際は、次の構文を使用します。

=T("=HYPERLINK(""link_location"",""friendly_name"")")

例8-2のEL式は、エンド・ユーザーがコンポーネントをクリックすると、HYPERLINK関数を使用してhttp://www.oracle.com/technetwork/developer-tools/adf/overview/index-085534.htmlに移動します。

例8-2 HYPERLINK関数

=T("=HYPERLINK(""http://www.oracle.com/technetwork/developer-tools/adf/overview/index-085534.html"", ""#{res['excel.workbook.powerby']}"")")

HYPERLINK関数を使用してEL式を記述する場合、エラー・メッセージが表示されないようにするため、適用するカスタムのスタイルの「セルのフォーマット」ダイアログの「保護」タブの「ロック済」チェック・ボックスを選択する必要があります。


注意:

EL式を計算式に使用している場合、EL式の評価後に、結果のExcel式が255文字を超えないことを確認します。これはエディタでコンポーネントのプロパティに条件値を設定するのに使用される式に適用されます。


8.9.1 EL式を使用してハイパーリンクを表示する際のセルの構成方法

ExcelのT関数を使用するEL式を記述して、ExcelのHYERLINK関数の出力を評価します。次の作業は、ADF出力テキスト・コンポーネントが、Oracle ADFデスクトップ統合ホーム・ページを開くハイパーリンクを表示するように構成される様子を示します。

始める前に:

動的なハイパーリンクについて理解しておくと役立ちます。詳細は、8.9項「Excel式を生成するためのEL式の使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

セルを構成し、EL式を使用してハイパーリンクを表示するには:

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

  2. ADF出力テキスト・コンポーネントをExcelワークシートに挿入します。

  3. ADF出力テキスト・コンポーネントのValueプロパティにEL式を記述します。

    記述するEL式は、Excel HYPERLINK関数を起動して、出力を評価するためにExcel T関数を使用します。例8-2では、Valueプロパティに次のEL式を入力しました:

    =T("=HYPERLINK(""http://www.oracle.com/technetwork/developer-tools/adf/overview/index-085534.html"", ""#{res['excel.workbook.powerby']}"")")
    

    注意:

    Excelでは、式を正しく評価できるように、EL式に二重の二重引用符(""#{res['excel.workbook.powerby']}""など)を記述する必要があります。


  4. 「OK」をクリックします。

8.9.2 実行時の処理: EL式を使用したセルによるハイパーリンクの表示

ADFデスクトップ統合は、記述するEL式を実行時に評価します。次の例では、ADFデスクトップ統合は次のことを実行します。

  • リソース・ファイルからexcel.workbook.powerbyの値を取得します。

  • ユーザーがクリックできる、ハイパーリンクの付いたセルに結果を挿入

図8-36は、8.9.1項「EL式を使用してハイパーリンクを表示する際のセルの構成方法」で構成した例の実行時の表示を示しています。ADF出力テキスト・コンポーネントをホストするセルをエンド・ユーザーがクリックすると、Oracle ADFデスクトップ統合ホーム・ページがWebブラウザに開きます。

図8-36 ハイパーリンクを表示するよう構成されたADF出力テキスト・コンポーネント

ハイパーリンクを表示するよう構成された出力テキスト・コンポーネント

8.10 統合Excelワークブックでの計算済セルの使用

統合Excelワークブックで値の計算を実行するExcel式を記述できます。統合Excelワークブックで値を計算するExcel式を記述する前に、次の点に注意してください。

Excel関数の詳細は、Excelのオンライン・ヘルプ・ドキュメントの関数の参照の項を参照してください。

8.10.1 表タイプ・コンポーネント列の合計の計算方法

次の作業は、Excel関数のSUMOFFSETを使用して、Differenceとラベル付けされた列の合計を実行時に計算する様子を示します。ADF表コンポーネントまたはADF読取り専用表コンポーネントがダウンロードする行数に基づいて、拡張または収縮するセルの範囲を参照する場合に、記述するExcel式でOFFSET関数を使用します。SUM関数が、Excelのセル範囲の合計を計算します。

始める前に:

統合Excelワークブックでの計算されたセルの使用方法を理解しておくと役立ちます。詳細は、8.10項「統合Excelワークブックでの計算済セルの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

ADF表コンポーネントで列の合計を計算するには:

  1. 設計モードで、Excel式を記述するセルを選択します。たとえば、H16です。

  2. 実行時にセル範囲で計算を実行するExcel式を記述します。例:

    =SUM(OFFSET(G14,1,0):OFFSET(G15,-1,0))

    SUMは、現在G14G15によって参照されているセル範囲の値の合計を計算します。

    図8-37は、統合ExcelワークブックのExcel式の設計時の表示を示します。

    図8-37 統合ExcelワークブックのExcel式の設計時の表示

    統合ワークブックのExcel式の設計時の表示
  3. 変更を保存して実行時モードに切り替え、入力したExcel式が正しく評価されるかテストします。

8.10.2 実行時の処理: Excelによる表タイプ・コンポーネント列の合計計算

図8-38は、図8-37のExcel式が評価されるときの、統合Excelワークブックの実行時の表示です。このExcel式は、設計モードで指定したセル範囲にある値の合計を計算します。

図8-38 統合ExcelワークブックのExcel式の実行時の表示

統合ExcelワークブックのExcel式の実行時の表示

8.11 統合Excelワークブックでのマクロの使用

統合ExcelワークブックのExcelイベントに基づいて、マクロを定義して実行できます。

次の点に注意してください。