EditDept_LOVワークブックには、LOVフィールドや挿入/更新/削除機能のある表が含まれています。また、ワークブック内のExcelリボンにリボン・コマンドを追加します。
-
ここでは、パート2で作成したEditDept_LOV_src.xlsxワークブックを基にして作業を行います。
このワークブックが開いていない場合は、ダブルクリックしてExcelで開きます。 -
ExcelのADF Desktop Integration 12cバインディング・ペインに、ページ定義から利用できるバインディングが表示されます。
-
「Save」ボタンをクリックしてワークシートを最新にします。
EditTable_LOV.jspxページに対するデータ・バインディングのスクリーンショットに含まれるバインディングに注目してください。これらのアクション・バインディングは、JSFページに含まれるボタン・アクションを表しています。
-
ExcelリボンのOracle ADFタブで、「Workbook Properties」ボタンをクリックします。
-
Edit Workbook Propertiesで、WebAppRootフィールドの横の値がhttp://127.0.0.1:7101/ADFdi_BCになっていることを確認し、「OK」をクリックします。このURLは、パート2で設定した値で、ワークブックが統合されるFusion WebアプリケーションのURLです。
URLが正しい場合は、「OK」をクリックします。 -
Excelワークシートに表示された表の左上のセル(F5)を選択し、ExcelリボンにあるOracle ADFタブのADF Componentsグループで「」Edit Propertiesアイコンをクリックします。
-
Edit Component: ADF Tableダイアログで、「RowActions」ノードを開き、DeleteRowActionIDフィールドの横にある「」moreボタンをクリックします。
-
Select Bindingダイアログで、「Delete (action)」を選択し、「OK」をクリックします。
-
InsertBeforeRowActionIDフィールドに対して前のステップを繰り返し、「CreateInsert (action)」を選択します。
「OK」をクリックします。
-
RowActionsセクションで、ドロップダウン・リストから次の値を追加で設定します。
オプション 値 DeleteRowEnabled True InsertRowEnabled True UpdateRowEnabled True RowActionsのプロパティは、次のように表示されます。
-
BatchOptionsセクションで、CommitBatchActionIDの値をCommitに設定し、「OK」をクリックします。
-
Edit Componentダイアログで、Columnsフィールドの横にある「」moreボタンをクリックします。
-
Membersペインで列番号6(LocationId)を選択し、UpdateComponentフィールドの横にある「」moreボタンをクリックします。
-
Select Componentダイアログで「TreeNodeList」を選択し、「OK」をクリックします。
-
列番号3(DepartmentId)を選択し、「UpdateComponent」ノードを開きます。ReadOnlyプロパティをTrueに変更します。
-
列番号3(DepartmentId)を引き続き選択した状態で、CellStyleNameフィールドにある「」moreボタンをクリックします。
-
Edit Expressionダイアログで、「Styles」ノードを開きます。
-
「_ADFDI_TableCellROStyle」(列が読取り専用であることを視覚的に示すスタイル)を選択し、「Insert Into Expression」をクリックします。
「OK」をクリックし、再度「OK」をクリックします。もう一度「OK」をクリックしてExcelに戻ります。
-
Excelワークブックを保存します。
たとえば、このステップでDeleteを選択すると、DeleteFlaggedRowsの実行中に各フラグ付き行に対して呼び出されるアクション・バインディングを定義できます。この後説明するステップでは、ワークシートに含まれるその他の行の動作を定義します。
この要件を実現するには、(このステップで設定したように)ReadOnlyプロパティをTrueに設定し、またフィールドの更新ができないことをユーザーに対して視覚的に示すスタイルをDepartmentIdフィールドに適用します。
-
Oracle ADFタブで、「Worksheet Properties」ボタンをクリックします。 「Ribbon Commands」フィールドを選択し、「」moreボタンをクリックします。
-
Edit Ribbon Commandsダイアログで「Add」をクリックします。
-
右側のペインで「SelectActionSet」ノードを開き、Actionsフィールドの横にある「」moreボタンをクリックします。
-
Edit Actionsダイアログで、Addボタンの三角マークをクリックして、ドロップダウン・リストから「ADFmAction」を選択します。
-
ADFmActionプロパティのEdit Actionsダイアログで、ActionIDフィールドの横にある「」moreボタンをクリックします。
-
Select Bindingダイアログで「Execute」を選択し、「OK」をクリックします。
-
Edit Actionsダイアログに戻り、DesignのAnnotationフィールドにRun queryと入力します。
-
Edit Actionsダイアログで、「Add」ボタンをクリックし、ドロップダウン・リストから「ComponentAction」を選択します。
-
Actionフィールドの横にある「」moreボタンをクリックします。
-
Choose Component Actionダイアログで、「Download」を選択し、「OK」をクリックします。
-
Edit Actionsに戻り、DesignのAnnotationフィールドにDownloadと入力し、「OK」をクリックします。
-
Edit Ribbon Commandsダイアログに戻り、LabelフィールドにQueryと入力します。
「OK」をクリックします。もう一度「OK」をクリックしてExcelに戻ります。
-
「」Saveボタンをクリックして、Excelワークブックを保存します。
また、ラベルにリソース式を作成して、'ローカライズ'アプリケーションを作成することもできます。
-
Oracle ADFタブで、「Worksheet Properties」ボタンをクリックします。
-
Edit Worksheet Propertiesダイアログで「Ribbon Commands」フィールドを選択し、「more」ボタンをクリックします。
-
Edit Ribbon Commandsダイアログで「Add」をクリックします。
-
右側のペインで、Actionsフィールドの横にある「」moreボタンをクリックします。
-
Addボタンの三角マークをクリックし、ドロップダウン・リストから「Confirmation」を選択します。
-
Dataセクションに次の値を入力します。
プロパティ 値 Prompt Are you sure you want to delete these rows? Title Delete Departments
ラベル・プロパティの定義。
統合されたワークブックのローカライズの詳細については、開発者ガイドを参照してください。 -
Addボタンの三角マークをクリックし、ドロップダウン・リストから「ComponentAction」を選択します。
-
Edit Actionsダイアログで、Actionフィールドの横にある「」moreボタンをクリックします。
-
Choose Component Actionで、「DeleteFlaggedRows」を選択します。
「OK」をクリックし、もう一度「OK」をクリックします。 -
Edit Ribbon Commandsで、LabelフィールドにDelete Flaggedと入力します。
「OK」をクリックします。もう一度「OK」をクリックしてExcelに戻ります。
-
すべての作業内容を保存します。
-
Oracle ADFタブで、「Worksheet Properties」ボタンをクリックします。
-
「Ribbon Commands」フィールドを選択し、「more」ボタンをクリックします。
-
Edit Ribbon Commandsダイアログで「Add」をクリックします。
-
右側のペインで、Actionsフィールドの横にある「」moreボタンをクリックします。
-
Edit Actionsダイアログで、「Add」ボタンをクリックし、ドロップダウン・リストから「ComponentAction」を選択します。
-
Edit Actionsダイアログで、Actionフィールドの横にある「」moreボタンをクリックします。
-
Choose Component Actionダイアログで、「Upload」を選択します。「OK」をクリックします。
もう一度「OK」をクリックします。
-
Edit Ribbon Commandsダイアログで、LabelフィールドにUploadと入力し、「OK」をクリックします。
-
以上で、ワークシートには3つのリボン・コマンドが定義されました。
「OK」をクリックします。
-
ワークブックを保存「」します。
-
このステップでは、ツールチップの使用について説明します。
ユーザーが列の上にカーソルを置いたときに、それぞれの列またはフィールドのツールチップが表示されるようにできます。
EditDept_LOV_srcワークブックの設計ビューに戻り、ワークブックのセルの1つをダブルクリックしてEdit Component: ADF Tableダイアログを開きます。 -
Edit Component: ADF Tableタブで「Columns」ノードを選択し、右端にある「...」ボタンをクリックします。
-
Edit Columnsペインで、「DepartmentId」列を選択します。Dataノードの下に、Tooltipプロパティが表示されます。
-
ここで、Department Idのツールチップとして使用する値をハードコードすることもできますが、この方法は再利用性に欠けます。ハードコードされたツールチップはこのワークブックにのみ表示され、すべてのワークブックの同期を維持するには、ワークブックごとに同じツールチップの値を使用して更新する必要があります。
ここに表示されている値は、DepartmentViewのDepartment Idに対するツールチップのUIヒントを参照しています。 -
それでは、ツールチップの値の設定または変更は、どこで行えばよいのでしょうか。
JDeveloperに戻り、Applicationsウィンドウで「Model」プロジェクトを開き、「DepartmentsView」ビュープロジェクトをダブルクリックします。 -
エディタで「Attributes」タブを選択します。
次に、DepartmentIdを選択した状態で、「UI Hints」タブを見つけてクリックします。 -
TooltipプロパティをDo not change the Department Id valueのような値に設定します。
作業内容を保存します。 -
Applicationウィンドウで、「ViewController」→「Web Content」を開き、「EditTable_LOV.jspx」を右クリックして「Run」を選択します。
この操作により、新しいツールチップの値がアプリケーション・サーバーにデプロイされ、Excelワークブックで使用できるようになります。
Logウィンドウで、アプリケーションへのデプロイを確認します。
ワークブックを実行すると、Department Idラベルの右上に赤い三角マークが表示されます。このマークの上にカーソルを置くと、ツールチップが表示されます。
-
次に、ワークブックにいくつか変更を加えます。この変更により、表示されるデータのサイズに合わせて列の幅が自動的に変更されるようにします。
EditDept_LOV_src Excelワークブックに戻り、設計ビューでセルの1つをダブルクリックします。 -
Appearanceノードにある「ResizeColumnsMode」を選択し、「AutoFitAllWithHeader」を選択します。「OK」をクリックします。
-
Oracle ADFメニューの「Worksheet Properties」を選択します。
-
Behaviorノードで、Ribbon Commandsプロパティとその値を見つけます。プロパティ値の右側にある「...」ボタンをクリックします。
-
Members領域で「Query」コマンドを選択し、「SelectActionSet」ノードを開きます。
-
「Actions」プロパティを選択してから「...」ボタンをクリックします。
-
Edit Actionsペインで「Downalod Member」を選択し、下部にある「Add」→「ComponentAction」をクリックします。
-
「Action」プロパティを選択し、「...」ボタンをクリックします。
-
Component Actionリストから「ResizeColumns」を選択します。
「OK」を2回クリックしてEdit Component: ADF Tableペインに戻ります。
-
Dataノードの下の「Columns」ノードを開きます。
-
「RowKeyColumn (7)」を開き、ResizeModeをSpecificedWidthに設定します。
-
Widthプロパティを5に設定します。
「OK」をクリックします。 -
設計モードで、列の幅を15~16程度に少し広げます。
すべての作業内容を保存します。
-
Excelリボンの「Oracle ADF」タブをクリックします。
-
Testグループにある「Run」ボタンをクリックします。
Validateボタンの使用。詳細表示
ワークシートを実行する前に「Validate」ボタンをクリックすると、ワークブックに含まれる構成の問題を発見し、修正できます。 -
ワークブックに、チュートリアルのパート2で設定したデータが移入されたADF表がロードされ、表示されます。
カーソルをDepartment Idの上に移動すると、ツールチップの値が表示されます。 -
ExcelリボンでOracle ADFタブの右側に表示されている「MyWorkbook」タブをクリックします。
-
作成が済んだ3つのコマンドが、Worksheetグループに表示されます。これらのコマンドは3つのリボン項目にそれぞれ対応します。
「Query」ボタンをクリックします。 -
取得したデータがワークシートに表示されます。データが別のワークシートまたはOracle ADF Webアプリケーションによって変更されている場合は、更新後の値が表示されます。パート2でダウンロード・アクションを追加しているため、レコードは同じになります。
-
新しい行を追加します。ワークシート内の任意の箇所を右クリックし、コンテキスト・メニューから「Insert」を選択します。
Insertダイアログで「Entire Row」を選択し、「OK」をクリックします。
-
新しい部門名(New Sales)を入力し、ドロップダウン・リストから都市を選択します。
-
新しい行では、自動的にChanged列にフラグが付けられています。
-
既存の行に対して、ドロップダウン・リストを使用してLocationIdを変更してみます。
この行が更新されたことがChanged列に示されます。
-
Excelリボン内に新しく作成した「Upload」コマンド項目をクリックし、変更を保存します。
Upload Optionsダイアログで、デフォルト値のままにして「OK」をクリックします。Changed列に行の更新を示すフラグが2ヶ所付いていることに注意します。
-
新しい行が挿入され、部門IDが生成されて、フラグが削除されていることを確認します。
-
直前に挿入した行の「Flagged」列をダブルクリックします。
-
「Delete Flagged」ボタンをクリックします。
-
先ほど作成したDelete Confirmationダイアログで、「Yes」をクリックします。
-
ワークシートが更新されます。
-
「Oracle ADF」タブをクリックしてから「Stop」ボタンをクリックし、設計モードに戻ります。
Fusion Webアプリケーションに統合され、データベースからのデータの挿入、更新、削除を行うことができる、完全な機能を備えたワークブックの作成が完了しました。このチュートリアルの次のパートでは、ワークブックの公開について説明します。