パート3:より高度なOracle ADF Desktop Integration対応Excelワークブックの開発
パート2では、Oracle ADF Fusion Webアプリケーションに統合される基本的なExcelワークブックを作成しました。チュートリアルのこのパートでは、そのワークブックに高度な機能を追加して、より機能的なワークブックを作成します。

EditDept_LOVワークブックには、LOVフィールドや挿入/更新/削除機能のある表が含まれています。また、ワークブック内のExcelリボンにリボン・コマンドを追加します。


EditDept_LOVワークブック
ステップ1:EditDept_LOVワークブックの作成
EditDept_LOVワークブックは、EditTable_LOV.jspxページ定義をベースとしています。
  1. ナビゲータで、「ViewController」プロジェクトを右クリックして、コンテキスト・メニューから「New」→「From Gallery...」を選択します。New GalleryでClient Tierノードが開かれていない場合はこれを開き、「ADF Desktop Integration」を選択します。ItemsペインでMicrosoft Excel Workbookが自動的にハイライトされるため、「OK」をクリックしてこのワークブックを選択します。

    New Gallery
  2. EditDept_LOVワークブックを作成するための最初のステップには、前のワークシートを作成したときとまったく同じタスクが含まれています。

    新しいOracle ADF Desktop Integration対応ワークブックを作成します。

    ワークブックをExcelで開きます。

    ワークシートのページ定義を選択します。

    ワークシートにバインディングを追加します。

    ワークシートに追加するコンポーネントを選択します。
  3. ワークブックの名前としてEditDept_LOV_src.xlsxを入力し、「OK」をクリックします。

    ワークブックの作成ダイアログ
  4. Excelが開くと、Oracle ADF Desktop Integrationがロードされます。Page Definitionダイアログで、「ADFdi_view_EditTable_LOVPageDef」ページ定義を選択します。

    Page Definition

    また、ApplicationsウィンドウにもEditDept_LOV_src.xlsxが表示されます。

    アプリケーション・ナビゲータ
  5. Excelに戻ると、ADF Desktop Integrationのバインディング・ペインに、ページ定義から利用できるバインディングが表示されます。

    ADFdiのバインディング・ペイン
  6. 前のステップで選択したページ定義(ADFdi_view_EditTable_LOVPageDef)には、このチュートリアルの前のパートでDepartmentsListワークブックを作成したときに使用したツリー・バインディングに加えて、数種類のバインディングが含まれています。

    EditTable_LOV.jspxページに対するデータ・バインディングのスクリーンショットに含まれる各種のバインディングに注目してください。これらのアクション・バインディングは、JSFページに含まれるボタン・アクションを表しています。
    JDeveloperのアクション・バインディング
  7. ワークシートでセルを1つ選択し、Bindingsタブで「DepartmentsView1」を選択し、「Insert Binding」をクリックします。

    ワークシート
  8. Select Componentダイアログで、「ADF Table」を選択します。「OK」をクリックします。

    Select Componentダイアログ
  9. Insert Component:ADF Tableダイアログで、「OK」をクリックしてデフォルト値を受け入れます。

    Insert Component: ADF Tableダイアログ
  10. Excelワークシートが、次のように表示されます。

    Excelワークシート

    編集可能な表であるため、情報を表示するために最初の3列と最後の1列(キー列)が自動的に生成されています。

  11. SaveアイコンSaveアイコンをクリックしてワークブックを保存します。

ステップ2:ワークブック・プロパティと表プロパティの設定
  1. ExcelリボンのOracle ADFタブで、「Workbook Properties」ボタンをクリックします。

    Excelワークシート
  2. Edit Workbook PropertiesダイアログのWebAppRootフィールドの横に、先ほどと同じようにhttp://127.0.0.1:7101/ADFdi_BCと入力し、「OK」をクリックします。このURLは、ワークブックが統合されるFusion WebアプリケーションのURLです。

    Edit Workbook Properties
  3. Excelワークシートに表示された表の左上のセル(C3)を選択し、ExcelリボンにあるOracle ADFタブのADF ComponentsグループでPropertiesアイコンEdit Propertiesアイコンをクリックします。

    Edit Properties
  4. Edit Component:ADF Tableダイアログで、「RowActions」ノードを開き、DeleteRowActionIDフィールドの横にある「Moreアイコン」moreボタンをクリックします。

    Edit Component: ADF Tableダイアログ
  5. Select Bindingダイアログで、「Delete (action)」を選択し、「OK」をクリックします。

    Select Bindingダイアログ

  6. 一連のRowActionsプロパティは、ワークシート内にある表の行の動作を定義します。

    たとえば、このステップでDeleteを選択すると、DeleteFlaggedRowsの実行中に各フラグ付き行に対して呼び出されるアクション・バインディングを定義できます。この後説明するステップでは、ワークシートに含まれるその他の行の動作を定義します。
  7. InsertBeforeRowActionIDフィールドに対して前のステップを繰り返し、「CreateInsert (action)」を選択します。

    Select Bindingダイアログ

    OK」をクリックします。

  8. RowActionsセクションで、ドロップダウン・リストから次の値を追加で設定します。

    オプション
    DeleteRowEnabled True
    InsertRowEnabled True
    UpdateRowEnabled True

    RowActionsのプロパティは、次のように表示されます。

    RowActionsプロパティ
  9. BatchOptionsセクションで、CommitBatchActionIDの値をCommitに設定し、「OK」をクリックします。

    Batch Optionsセクション
  10. Edit Componentダイアログで、Columnsフィールドの隣にある「Moreアイコンmoreボタンをクリックします。

    Edit Componentダイアログ
  11. Membersペインで列番号6(LocationId)を選択し、UpdateComponentフィールドの横にあるMoreアイコンmoreボタンをクリックします。

    UpdateComponent
  12. Select Componentダイアログで「TreeNodeList」を選択し、「OK」をクリックします。

    Select Componentダイアログ
  13. 列番号3DepartmentIdを選択し、「UpdateComponent」ノードを開きます。ReadOnlyプロパティを「True」に変更します。

    Edit Columnsダイアログ


  14. 実際に設計するアプリケーションでは、部門IDをユーザーが変更できないようにする必要があります。
    この要件を実現するには、(このステップで設定したように)ReadOnlyプロパティをTrueに設定し、またフィールドの更新ができないことをユーザーに対して視覚的に示すスタイルをDepartmentIdフィールドに適用します。
  15. 列番号3DepartmentIdを引き続き選択した状態で、CellStyleNameフィールドにある「more」ボタンをクリックします。

    Edit Columnsダイアログ
  16. Edit Expressionダイアログで、「Styles」ノードを開きます。

    Edit Expressionダイアログ
  17. _ADFDI_TableCellROStyle」(列が読取り専用であることを視覚的に示すスタイル)を選択し、「Insert Into Expression」をクリックします。

    Edit Expressionダイアログ

    OK」をクリックし、もう一度「OK」をクリックします。

  18. Excelワークブックを保存します。

ステップ3:Queryリボン・コマンドの定義
このステップでは、ワークシートの上部にあるExcelリボンにリボン・コマンドを追加します。DepartmentsListワークシートでは、起動時にデータがワークシートにダウンロードされるように指定しました。ここではリボン・コマンドを1つ作成して、ユーザーがクリックすることでワークシート表にデータが移入されるようにします。
  1. Oracle ADFタブで、「Worksheet Properties」ボタンをクリックします。 「Ribbon Commands」フィールドを選択し、Moreアイコンmoreボタンをクリックします。

    Edit Worksheet Properties
  2. Edit Ribbon Commandsダイアログで「Add」をクリックします。

    Edit Ribbon Commands
  3. 右側のペインで「SelectActionSet」ノードを開き、Actionsフィールドの横にあるMoreアイコンmoreボタンをクリックします。

    Edit Ribbon Commandsダイアログ
  4. Action Collection Editorダイアログで、Addボタンの三角マークをクリックして、ドロップダウン・リストから「ADFmAction」を選択します。

    Edit Actionsダイアログ
  5. ADFmActionプロパティのEdit Actionsダイアログで、ActionIDフィールドの横にあるMoreアイコンmoreボタンをクリックします。

    Edit Actionsダイアログ
  6. Select Bindingダイアログで「Execute」を選択し、「OK」をクリックします。

    Select Bindingダイアログ
  7. Edit Actionsダイアログに戻り、DesignAnnotationフィールドにRun queryと入力します。

    Edit Actions
  8. Edit Actionsダイアログで、「Add」ボタンをクリックしてドロップダウン・リストから「ComponentAction」を選択します。

    Edit Actions
  9. Actionフィールドの横にあるMoreアイコンmoreボタンをクリックします。

    Edit Actions
  10. Choose Component Actionダイアログで、「Download」を選択し、「OK」をクリックします。

    Choose Component Actionダイアログ
  11. Edit Actionsに戻り、DesignAnnotationフィールドにDownloadと入力し、「OK」をクリックします。

    Edit Actions
  12. Edit Ribbon Commandsダイアログに戻り、LabelフィールドにQueryと入力します。

    Edit Ribbon Commandsダイアログ

    OK」をクリックし、再度「OK」をクリックします。

  13. "Query"は、Excelリボンに表示されるコマンド項目のラベルです。ユーザーがQueryコマンド項目をクリックすると、ワークシート内の表にデータがダウンロードされます。

    また、ラベルにリソース式を作成して、'ローカライズ'アプリケーションを作成することもできます。
  14. SaveアイコンSaveボタンをクリックして、Excelワークブックを保存します。

ステップ4:Delete Rowsリボン・コマンドの定義
このステップでは、ワークシートの上部にあるExcelリボンにリボン・コマンドをもう1つ追加します。ここで追加するリボン・コマンドは、表内のフラグ付き行を削除するためのもので、アクションの実行前にユーザーに確認を求めます。
  1. Oracle ADFタブで、「Worksheet Properties」ボタンをクリックします。

    Worksheet Propertiesボタン
  2. Edit Worksheet Propertiesダイアログで「Ribbon Commands」フィールドを探し、「more」ボタンをクリックします。

    Edit Worksheet Propertiesダイアログ
  3. Edit Ribbon Commandsダイアログで「Add」をクリックします。

    Edit Ribbon Commandsダイアログ
  4. 右側のペインで、Actionsフィールドの横にあるMoreアイコンmoreボタンをクリックします。

    Edit Ribbon Commandsダイアログ
  5. Addボタンの三角マークをクリックし、ドロップダウン・リストから「Confirmation」を選択します。

    Edit Actions
  6. Dataセクションに、次の値を入力します。

    プロパティ
    Prompt Are you sure you want to delete these rows?
    Title Delete Departments

    Dataセクション
    ラベル・プロパティの定義。

    この例では、リソース式(OKButtonLabel)やリテラル値(Title)を使用してラベルを表示できることを示しています。

    ローカライズ・アプリケーションに対しては、リソース式の手法を使用します。
  7. Addボタンの三角マークをクリックし、ドロップダウン・リストから「ComponentAction」を選択します。

    Edit Actionsダイアログ
  8. Action Collection Editorダイアログで、Actionフィールドの隣にあるMoreアイコンmoreボタンをクリックします。

    Action Collection Editorダイアログ
  9. Choose Component Actionダイアログで、「DeleteFlaggedRows」を選択します。

    Choose Component Actionダイアログ

    OK」をクリックし、もう一度「OK」をクリックします。

  10. Edit Ribbon Commandsで、LabelフィールドにDelete Flaggedと入力します。

    Edit Ribbon Commandsダイアログ

    OK」をクリックします。再度「OK」をクリックします。

    作業内容を保存します。

ステップ5:Uploadリボン・コマンドの定義

このステップでは、ワークシートの上部にあるExcelリボンにリボン・コマンドをもう1つ追加します。ここで追加するコマンド項目は、表からWebアプリケーションへとデータをアップロードします。
  1. Oracle ADFタブで、「Worksheet Properties」ボタンをクリックします。

    Worksheet Propertiesボタン
  2. Ribbon Commands」フィールドを選択し、「more」ボタンをクリックします。

    Edit Worksheet Propertiesダイアログ
  3. Edit Ribbon Commandsダイアログで「Add」をクリックします。

    Edit Ribbon Commandsエディタ
  4. 右側のペインで、Actionsフィールドの横にあるMoreアイコンmoreボタンをクリックします。

    Edit Ribbon Commandsエディタ
  5. Edit Actionsダイアログで、「Add」ボタンをクリックしてドロップダウン・リストから「ComponentAction」を選択します。

    Edit Actionsダイアログ
  6. Edit Actionsダイアログで、Actionフィールドの横にあるMoreアイコンmoreボタンをクリックします。

    Edit Actionsダイアログ
  7. Choose Component Actionダイアログで、「Upload」を選択します。「OK」をクリックします。

    Choose Component Actionダイアログ

    再度「OK」をクリックします。

  8. Edit Ribbon Commandsダイアログで、LabelフィールドにUploadと入力し、「OK」をクリックします。

    Edit Ribbon Commandsダイアログ
  9. 以上で、ワークシートには3つのリボン・コマンドが定義されました。

    Edit Worksheet Propertiesダイアログ

    OK」をクリックします。

  10. ワークブックを保存Saveアイコン」します。

ステップ6:EditDept_LOVワークブックのテスト
  1. Excelリボンの「Oracle ADF」タブをクリックします。

    Excelリボンに表示されたOracle ADFタブ
  2. Testグループにある「Run」ボタンをクリックします。

    Runボタン
    Validateボタンの使用。

    ワークシートを実行する前に「Validate」ボタンをクリックすると、ワークブックに含まれる構成の問題を発見し、修正できます。
  3. ワークブックに、まだデータが移入されていないADF表がロードされ、表示されます。

    ワークブック
  4. ExcelリボンでOracle ADFタブの右側に表示されている「MyWorkbook」タブをクリックします。

    MyWorkbookタブ
  5. 作成が済んだ3つのコマンドが、Worksheetグループに表示されます。これらのコマンドは3つのリボン項目にそれぞれ対応します。
    Query」ボタンをクリックします。

    Queryボタン
  6. 取得したデータが、ワークシートに表示されます。

    ワークシート
  7. DepartmentId列は、他の列とは異なる色の網かけで表示されます。これは読取り専用のスタイルであり、更新できない列であることをユーザーに視覚的に示すために先ほどDepartmentId列に適用したものです。このような視覚的効果は、アプリケーションのユーザビリティを大幅に向上します。
  8. 新しい行を追加します。ワークシート内の任意の箇所を右クリックし、コンテキスト・メニューから「Insert」を選択します。

    Insertオプション

    Insertダイアログで「Entire Row」を選択し、「OK」をクリックします。

  9. 新しい部門名(New Sales)を入力し、ドロップダウン・リストから都市を選択します。

    ワークシート
  10. 新しい行では、自動的にChanged列にフラグが付けられています。

    ワークシート
  11. 既存の行に対して、ドロップダウン・リストを使用して場所を変更してみます。

    ワークシート
  12. Excelリボン内に新しく作成した「Upload」コマンド項目をクリックし、変更を保存します。

    Uploadコマンド

    Upload Optionsダイアログで、「Download all rows after successful upload」チェック・ボックスを選択します。Changed列に行の更新を示すフラグが2ヶ所付いていることに注意します。

    Upload Optionsダイアログ
  13. 新しい行が挿入され、部門IDが生成されて、フラグが削除されていることを確認します。

    ワークシート
  14. 直前に挿入した行の「Flagged」列をダブルクリックします。

    ワークシート
  15. Delete Flagged」ボタンをクリックします。

    Delete Flaggedボタン
  16. 先ほど作成したDelete Confirmationダイアログで、「Yes」をクリックします。

    Delete Confirmationダイアログ
  17. ワークシートが更新されます。

    ワークシート
  18. Oracle ADF」タブをクリックしてから「Stop」ボタンをクリックし、設計モードに戻ります。

    Stopボタン

    Fusion Webアプリケーションに統合され、データベースからのデータの挿入、更新、削除を行うことができる、完全な機能を備えたワークブックの作成が完了しました。このチュートリアルの次のパートでは、ワークブックの公開について説明します。


ブックマーク 印刷 すべて表示 | すべて非表示
トップへ戻る
Copyright c 2013, Oracle.All rights reserved.