10 統合Excelワークブックの外観の構成

Excelで事前定義済スタイルおよびカスタム・スタイルを使用して統合Excelワークブックの外観を構成し、EL式を使用して実行時にワークブックのOracle ADFコンポーネントにスタイルを動的に適用し、ラベルを使用してExcelワークブックをブランディングします。

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

統合Excelワークブックの外観の構成について

Excel機能とOracle ADF機能の両方を使用して、統合Excelワークブックの外観を構成します。

ワークブックの外観を構成すると、エンド・ユーザーにとってのワークブックの使い勝手をよくすることができます。たとえば、実行時にADF出力テキスト・コンポーネントをレンダリングするセルに特定のスタイルを適用して、そのセルが読取り専用であることをエンド・ユーザーに示すことができます。また、会社のスタイル・シートやExcelワークブックが統合するFusion Webアプリケーションの色のスキームと一致するように、統合Excelワークブックの外観を構成する場合もあります。

統合Excelワークブックでスタイルを使用してデータを構成することには、様々な利点があります。たとえば、ADF出力テキスト・コンポーネントに特定のスタイルを使用し、ADF入力テキスト・コンポーネントには異なるスタイルを使用できます。

ADFデスクトップ統合には、ワークブックで構成するADFデスクトップ統合コンポーネントに適用する事前定義済のExcelスタイルがいくつか用意されています。デスクトップ統合プロジェクトのニーズを満たすために、追加のスタイルを定義することもできます。その場合は、ロケールや地域、言語に応じて様々にレンダリングされるExcelワークブックの形式を十分に理解しておいてください。

統合Excelワークブック構成のユース・ケースと例

スタイルを使用して、ADFデスクトップ統合のコンポーネントの外観をカスタマイズできます。その例として、図10-1は、EditCustomers-DT.xlsxのADF表の列に適用される様々なスタイルを示しています。

図10-1 EditCustomers-DT.xlsxのADF表の列に適用されるスタイル

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

統合Excelワークブックの外観の構成の追加機能

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

  • ブランディング: ADFデスクトップ統合には、スタイル以外にもプロパティの集合(BrandingItems)が用意されており、これによって、アプリケーション名、アプリケーションのバージョン詳細および著作権情報を使用した統合Excelワークブックのブランディングが可能になります。「統合Excelワークブックのブランディング」を参照してください。

  • ローカライズ: Fusion Webアプリケーションでの国際化およびローカライズの処理の一部として、統合Excelワークブックをカスタマイズできます。「統合Excelワークブックの国際化」を参照してください。

スタイルの使用

ADFデスクトップ統合には、Excelの名前付きスタイルを実行時にOracle ADFコンポーネントに適用するメカニズムが用意されています。

スタイルの適用をサポートするOracle ADFコンポーネントには、名前にStyleNameを含むプロパティがあります。たとえば、ADF表コンポーネントの列プロパティは、実行時に適用されるスタイルを決定するプロパティHeaderStyleNameおよびCellStyleNameをサポートします。

ADFデスクトップ統合により事前定義されたスタイル

多くのプロパティには、ADFデスクトップ統合のスタイルの事前定義済リストから引き出されるデフォルトの値があります。たとえば、HeaderStyleNameプロパティのデフォルト値は、ADFデスクトップ統合で事前定義されたスタイルの1つであるColumn Headerです。ADFデスクトップ統合は、ExcelワークブックがADFデスクトップ統合との併用が有効になっている場合、これらの事前定義済スタイルをExcelワークブックに自動的に追加します。ADFデスクトップ統合で提供される事前定義済スタイルは、http://www.oracle.com/webfolder/ux/middleware/alta/index.htmlに説明されているOracle Alta UIと整合性があります。

次に、事前定義済スタイルを示します。

  • フォームのスタイル:

    • Form Header

    • Form SubHeader

    • Input Text

    • Label

    • Output Text

  • 表のスタイル:

    • Column Header

    • Data Cell

    • Indicator Cell

    • Key Cell

    • Read-only Cell

    • Status Cell

  • ブランド領域

ヒント:

Microsoft Excelには、「スタイルのコピー」ダイアログ(「ホーム」実行時リボンの「スタイル」ギャラリからアクセス)があり、ワークブック間ですべての名前付きスタイルをマージできます。

追加で使用するスタイルをExcelワークブックで作成することもできます。たとえば、日付に固有の形式を追加するには、Data Cellを複製して、My Date Cellという名前を付け、日付に固有の形式を追加します。

実行時にADFデスクトップ統合のコンポーネントに適用するスタイルを決定したら、EL式を記述してスタイルをコンポーネントに関連付けることができます。StyleNameを名前に含むADFデスクトップ統合コンポーネントのプロパティは、EL式を値として受け入れます。他のADFコンポーネントのADFラベル・コンポーネントとLabelプロパティでも、EL式がサポートされます。これらのEL式は、リソース・バンドルで定義された文字列キーの値やFusion Webアプリケーションで定義された属性コントロール・ヒントの値を取得できます。

新しいスタイルの作成と、ワークブックへのスタイルのマージの詳細は、Excelのドキュメントを参照してください。

Excelの日付形式とMicrosoft Windowsの地域と言語のオプション

Excelでセルに適用できる、「数値」スタイルの「日付」に分類される表示形式の一部は、ユーザーがMicrosoft Windowsの「コントロール パネル」からアクセスできる「地域と言語のオプション」を使用してローカル・システムのロケールを変更すると変わります。「タイプ」リストのこれらの形式の先頭に*文字が付きます。図10-2に示す日付の種類の例では、フランス語(フランス)の表記規則を使用してセルの日付書式が設定されています。

図10-2 Excelのフランス語の日付書式

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

エンド・ユーザーが、図10-3にあるように「英語(米国)」を使用するようにシステムの地域オプションを変更した場合、図10-2のスタイルでフォーマットされるセルは、「英語(米国)」の表記規則を使用します。

図10-3 Excelの英語(米国)の日付書式

図10-3の説明が続きます
「図10-3 Excelの英語(米国)の日付書式」の説明

注意:

Excelが時間コンポーネントのないデータ値を適切に書式設定および操作するようにするには、フォームまたは表の属性で、アプリケーションのモデル定義内のjava.sql.Dateデータ型を使用する必要があります。

Oracle ADFコンポーネントへのスタイルの適用方法

Oracle ADFコンポーネントにスタイルを適用するには、プロパティ・インスペクタを使用して、StyleNameを名前に持つプロパティの値を設定します。

始める前に:

スタイルについて理解しておくと役立ちます。「スタイルの使用」を参照してください。

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

スタイルを適用するには:

  1. 統合Excelワークブックで、変更するOracle ADFコンポーネントを参照するセルを選択して、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックします。
  2. StyleNameプロパティを選択し、参照(...)アイコンをクリックして「式の編集」ダイアログを表示します。
  3. Stylesノードを展開して、実行時にセルに適用するスタイルを選択します。

    たとえば、Output Textスタイルをバインディング・ウェアハウスID出力テキスト・フィールドに適用します。

  4. 「式に挿入」をクリックして、選択したスタイルを「式」フィールドに挿入します。

    図10-4に、「式の編集」ダイアログを示します(ここでは、Summitサンプル・アプリケーションのEditWarehouseInventory-DT.xlsxワークブックのウェアハウスIDを表示するOutputTextコンポーネントのスタイルを定義します)。

    図10-4 スタイルを適用する「式の編集」ダイアログ

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

実行時の処理: ADFコンポーネントへのスタイルの適用

名前にStyleNameが付いているプロパティの値として入力したEL式は、実行時に評価されます。これが事前定義済スタイルまたは開発者が定義したスタイルに対応する場合、そのスタイルはプロパティを設定したADFコンポーネントに適用されます。

ADFコンポーネントを参照するセルにスタイルが適用されている場合、ADFコンポーネントは、そのStyleNameプロパティで参照されるスタイルで定義されたプロパティ値(フォント、配置など)で、実行時にスタイルを上書きします。

たとえば、図10-5に、Summitサンプル・アプリケーションのEditWarehouseInventory-DT.xlsxワークブックのOutput Textスタイルで定義されたウェアハウスIDフィールドの実行時の外観を示します。

図10-5 スタイルを適用したコンポーネントの実行時の外観

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

EL式を使用した動的なスタイルの適用

StyleNameを名前に含むOracle ADFコンポーネントのプロパティは、EL式を値として受け入れます。

記述するEL式は、実行時に指定されたADFコンポーネントに適用されるExcelスタイルに解決することができます。記述するEL式は、ADFデータ・バインディング式などを使用するExcel式です。

次の例は、EL式を使用して、実行時のADFコンポーネントの動作および外観を決定できる様々なコンテキストを示しています。例10-1では、ダウンロード時にスタイルを動的に適用します。バインディングのステータス値がClosedの場合、読取り専用スタイル(MyReadOnlyStyle)を適用します。それ以外のときは、別のスタイル(MyReadWriteStyle)を適用します。

例10-2では、Excel式とADFバインディング式を取り混ぜて使用し、エラーおよびタイプ変換を処理します。例10-3は、カスタム属性プロパティを使用して、スタイルを指定する方法を示します。カスタム属性プロパティの詳細は、「ADFデスクトップ統合ELベースのプロパティとカスタム属性プロパティの使用」を参照してください。

例10-1 ダウンロード時にスタイルを動的に適用する場合

=IF("#{bindings.Status}" = "Closed", "MyReadOnlyStyle", "MyReadWriteStyle")

例10-2 エラーをタイプ変換を処理するEL式

=IF(ISERROR(VALUE("#{bindings.DealSize}")), "BlackStyle", IF(VALUE("#{bindings.DealSize}") > 300, "RedStyle", "BlackStyle"))

例10-3 カスタム属性プロパティを使用したスタイルの指定

#{bindings.EmpCompView1.hints.EmployeeId.diCellStyle}

実行時の処理: EL式の評価

実行時にEL式を評価する際、ADFデスクトップ統合はEL式が参照する値を決定します。そしてExcel式のEL式を、その値に置換します。例10-1では、まずADFデスクトップ統合は次のExcel式でバインディング式#{bindings.Status}の値を決定します。

=IF("#{bindings.Status}" = "Closed", "MyReadOnlyStyle", "MyReadWriteStyle")

続いて、次の例にあるようにバインディング式を実行時の値に置換します(ここでは、式はClosedに評価されます)。

=IF("Closed" = "Closed", "MyReadOnlyStyle", "MyReadWriteStyle")

Excelは式を評価し、この例ではMyReadOnlyStyleスタイルに適用します。

実行時にスタイルを適用するEL式の記述方法

Oracle ADFコンポーネントのプロパティ・インスペクタからアクセスできる「式の編集」ダイアログに、EL式をサポートするOracle ADFコンポーネントのプロパティのEL式を記述します。図10-6に、リボン・コマンドの「プロパティ・インスペクタ」ウィンドウから起動された「式の編集」ダイアログを示します。

図10-6 「式の編集」ダイアログ

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

始める前に:

動的にスタイルを適用する方法を理解しておくと役立ちます。「EL式を使用した動的なスタイルの適用」を参照してください。

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

実行時にスタイルを適用するEL式を記述するには:

  1. 統合Excelワークブックを開きます。
  2. EL式を記述する、Oracle ADFコンポーネントを参照するExcelワークシートのセルを選択します。
  3. 「Oracle ADF」タブの「プロパティの編集」ボタンをクリックして、プロパティ・インスペクタを表示します。
  4. EL式を関連付けるプロパティ・インスペクタのプロパティを選択し、参照(...)アイコンをクリックして「式の編集」ダイアログを表示します。

    注意:

    「式の編集」ダイアログは、ステップ2で選択したOracle ADFコンポーネントがEL式をサポートする場合のみ表示されます。コンテキストによっては、参照(...)アイコンで「アクションの編集」ダイアログなどの他のエディタが起動する場合があります。

    図10-6に示すように「式の編集」ダイアログには、EL式で参照できるOracle ADFコンポーネント、バインディング、スタイル、リソース、Excel機能の階層リストが表示されます。このダイアログに入力するEL式の構文の詳細は、「ADFデスクトップ統合のEL式」を参照してください。

スタイルを適用するEL式に関する必知事項

スタイルを適用するEL式について、次の点に注意してください。

  • スタイルに評価されるEL式は、次の場合に適用されます。

    • ADF表コンポーネントがDownloadアクションまたはDownloadForInsertアクションを起動する場合

    • 行がADF表コンポーネントに挿入される場合

    • アクション・セットは、ワークシートDownSyncアクションを起動します。

  • スタイルに評価されるEL式は、次の場合には適用されません。

    • 行レベルのアクション・セットは、ADF表コンポーネントRowDownSyncアクションを起動します。

    • エンド・ユーザーがセルの形式のプロパティを編集する場合

    • エンド・ユーザーがセルの値を編集した場合、スタイルに評価されるEL式は再評価されません。

    • EL式の実行時の値は、エンド・ユーザーの統合Excelワークブックで定義されたスタイルには一致しません。

      このシナリオでは、対象セルのスタイルの形式は変わりません。既存のスタイル形式が保持されます。クライアントサイドのロギングを構成した場合、EL式がエンド・ユーザーの統合Excelワークブックで定義されていないスタイルに評価されると、ADFデスクトップ統合はログ・ファイルにエントリを生成します。クライアント・サイドのロギングの詳細は、「統合Excelワークブックのログ・ファイルの生成」を参照してください。

    • ユーザーがセル間を移動するときやアップロード時。ADFデスクトップ統合は、これらのエンド・ユーザーのアクション中は、スタイルを評価または適用しません。

  • Excelでは、カスタム名の付いた様々なスタイルがワークブックにある場合、Excelからそのワークブックのコピーを保存すると、どのセルにも適用されていないカスタム名のスタイルがExcelによって自動的に(警告なしで)削除されます。

    EL式でのみ使用され、どのセルにも適用されていないスタイルがある場合は、Excelによってそれらが削除されることがあります。

  • ADFデスクトップ統合の公開機能により、ワークブックのコピーが作成されます。このため、使用されていないスタイルが消えることがあります。回避策は、未使用のワークシート上の使用されていないセルに各スタイルを1回適用することです。

統合Excelワークブックでのラベルの使用

ラベルを使用して、統合Excelワークブックの機能をどのように使用するかについての情報をエンド・ユーザーに提供します。

リソース・バンドルで定義された文字列キーの値あるいは属性コントロール・ヒントを取得するEL式を記述できます。統合Excelワークブックは、ワークブックが初期化されるときにのみLabelプロパティの値を評価します。

リソース・バンドルからの文字列キーの値の取得

図10-7に、ADFデスクトップ統合のSummitサンプル・アプリケーションのEditWarehouseInventory-DT.xlsxワークブックの設計時の表示の部分を示します。これは、EL式を使用して、そのLabelプロパティの値を取得するADFラベル・コンポーネントを示します。

図10-7 Labelプロパティを持つADFラベル・コンポーネントとADF入力テキスト・コンポーネントの設計時の表示

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

このEL式は、実行時に、ADFデスクトップ統合のSummitサンプル・アプリケーションに登録されたresリソース・バンドルに定義された文字列キーに解決されます。リソース・バンドルは、「ワークブック・プロパティ」ダイアログで定義します。リソース・バンドルからの文字列キーの参照の詳細は、「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

図10-8は、図10-7に設計モードで示されているADFラベル・コンポーネントの対応する実行時の表示を示しています。

図10-8 ADFラベル・コンポーネントの実行時の表示

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

属性コントロール・ヒントの値の取得

リソース・バンドルからの文字列キーの他に、ADFラベル・コンポーネントと他のADFコンポーネントのLabelプロパティは、JDeveloperプロジェクトのエンティティ・オブジェクトとビュー・オブジェクトに定義する属性コントロール・ヒントを参照できます。図10-9は、EditCustomers-DT.xlsxワークブックのADF表コンポーネントにあるPhone列の式ビルダーを示しています。式ビルダーは、実行時に属性コントロール・ヒントに定義される値(Phone)を取得する、Phone列のHeaderLabelプロパティに対するEL式を含みます。

図10-9 Labelプロパティの属性コントロール・ヒントの値を取得するEL式

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

属性コントロールのヒントは、ビュー・オブジェクトとエンティティ・オブジェクトの両方に構成できます。エンティティ・オブジェクトに属性コントロール・ヒントを追加する方法の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』エンティティ・オブジェクトの属性のコントロール・ヒントの定義に関する項を参照してください。ビュー・オブジェクトのUIヒントを定義する方法の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』ビュー・オブジェクトのUIヒントの定義に関する項を参照してください。

統合ExcelワークブックがLabelプロパティをどのように評価するか

統合Excelワークブックは、エンド・ユーザーが初めてワークブックを開いた後、ワークブックが初期化されるときにADFコンポーネントのLabelプロパティを評価します。統合Excelワークブックは、ワークブック自身がシステム上のディレクトリに保存されるときに、Labelプロパティの取得された値を保存します。

Labelプロパティの取得された値は、ワークシートのDownSyncアクションやADF表コンポーネントのDownloadアクションのようなアクションの起動中にリフレッシュされません。表A-18に示されるようにワークブックのアクションClearAllDataまたはEditOptionsを起動する場合、Labelプロパティの取得された値を間接的にリフレッシュします。

統合Excelワークブックのブランディング

ADFデスクトップ統合には、アプリケーション名やバージョン情報、著作権情報などの情報によって構成して統合Excelワークブックのブランディングに使用できるいくつかの機能があります。

この情報を統合Excelワークブックに関連付けるために、ワークブックのBrandingItemsプロパティ・グループを使用できます。エンド・ユーザーがViewAboutDialogワークブック・アクションを実行時に起動するリボン・コマンドをクリックすればこのブランディング情報を閲覧できるように、「実行時リボン・タブの構成」の説明に従って、リボン・タブを構成する必要があります。表A-18を参照してください。

ADFデスクトップ統合には、統合Excelワークブックのブランディングをサポートするスタイル(Branding Area)も用意されています。ADFデスクトップ統合のサンプル・アプリケーションでは、各サンプル・ワークブックの最初の行にこのスタイルを適用します。図10-10に示すように、スタイルをADFイメージおよびADF出力コンポーネントとともに使用することで、サンプル・アプリケーション内の統合Excelワークブックで一貫性のあるブランディングを実現できます。

図10-10 サンプル・ワークブックのブランディング・エリア

図10-10の説明が続きます
「図10-10 サンプル・ワークブックのブランディング・エリア」の説明

また、リソース・バンドルに文字列キーを定義して、タイトルなどの情報を1つの場所に定義しておくと、実行時、EL式がこれらの文字列キーの値を取得する際に、統合Excelワークブック内の複数の場所でこの情報を使用できます。文字列キーの定義の詳細は、「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

統合Excelワークブックのブランディング方法

ワークブックBrandingItemsプロパティ・グループの値を定義します。

始める前に:

統合Excelワークブックのブランドのカスタマイズ方法を理解しておくと役立ちます。「統合Excelワークブックのブランディング」を参照してください。

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

統合Excelワークブックをブランディングするには:

  1. 統合Excelワークブックを開きます。
  2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークブック・プロパティ」をクリックします。
  3. 「ワークブック・プロパティの編集」ダイアログで、BrandingItemsの入力フィールドの横にある参照(...)アイコンをクリックします。
  4. 「BrandingItemsの編集」ダイアログで、「追加」をクリックして、新しい要素に次のように値を指定します。
    • Name

      定義するブランディング項目の名前、またはEL式を指定します。

    • Value

      リテラル文字列を指定するか、または参照(...)アイコンをクリックして、式ビルダーを起動し、実行時に値を取得するEL式を記述します。BrandingItemsは、リテラル文字列またはリソース式を使用しなければならず、バインディング式を一切含むことはできません。

    図10-11に、ADFデスクトップ統合のSummitサンプル・アプリケーションのブランディング項目の設計時の表示を示します。

    図10-11 ADFデスクトップ統合のSummitサンプル・アプリケーションのブランディング項目の設計時の表示

    図10-11の説明が続きます
    「図10-11 ADFデスクトップ統合のSummitサンプル・アプリケーションのブランディング項目の設計時の表示」の説明
  5. 「OK」をクリックします。

ヒント:

ブランドのイメージまたはロゴを統合Excelスプレッドシートに追加することもできます。「ADFイメージ・コンポーネントの挿入」を参照してください。

実行時の処理: BrandingItemsプロパティ・グループ

実行時には、BrandingItemsプロパティ・グループに定義する名前と値の組合せが、エンド・ユーザーが実行時リボン・タブの「情報」リボン・コマンドを使用して起動する、「情報」ダイアログの「情報」タブに表示されます。「実行時リボン・タブの構成」の説明に従って、実行時リボン・タブが表示されるように構成します。図10-12に、Excelワークブックのブランディング項目の実行時の表示を示します。

図10-12 ADFデスクトップ統合のSummitサンプル・アプリケーションのブランディング項目の実行時の表示

図10-12の説明が続きます
「図10-12 ADFデスクトップ統合のSummitサンプル・アプリケーションのブランディング項目の実行時の表示」の説明

注意:

ワークブック・プロパティのBrandingItemsグループにプロパティを指定しないと、実行時に「情報」タブが「情報」ダイアログに表示されません。

ADFデスクトップ統合コンポーネントでのツールチップの表示

ADFデスクトップ統合コンポーネントおよび表の列ヘッダーにヒントまたは指示するには、ツールチップを使用します。ツールチップは、コンポーネントを配置するセルの「コメント」ウィンドウまたは列のヘッダー・セル(表の列ヘッダーの場合)に表示されます。

ツールチップは、リテラル文字列またはEL式として定義できます。リテラル文字列は、コンポーネントまたは列のTooltipプロパティに入力します。Tooltipプロパティの値として、EL式(リソース式を含む)を指定することもできます。実行時に、EL式は表示するツールチップに解決されます。

注意:

ADFデスクトップ統合では、EL式でtoolTip属性コントロール・ヒントもサポートされます。サポートは、「ADFデスクトップ統合のEL式」表B-3で説明されているmandatoryコントロール・ヒントと同様です。

コンポーネントをバインディング要素から作成する場合、ツールチップはモデルドリブン・ツールチップに自動的に設定され、そうでない場合は空になります。ツールチップは、ADFラベル・コンポーネントに対しては最初は常に空になります。表の列ヘッダーの場合、レンダリングされるデフォルト値は、図10-13に示すように、Fusion Webアプリケーションの属性コントロールTooltipプロパティの値になります(ADF表コンポーネントをツリー・バインディングから作成した場合)。特殊な列(「変更済」「フラグ付き」「ステータス」)は例外です。デフォルトでは、これらはツールチップをレンダリングしません。

属性コントロールのヒントは、ビュー・オブジェクトに構成できます。ビュー・オブジェクトのUIヒントを定義する方法の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』ビュー・オブジェクトのUIヒントの定義に関する項を参照してください。統合Excelワークブックの属性コントロール・ヒントの値を取得する方法の詳細は、「属性コントロール・ヒントの値の取得」を参照してください。

詳細は、「ADF表コンポーネントへのツールチップの追加方法」および「フォーム・タイプ・コンポーネントへのツールチップの追加方法」を参照してください。

図10-13 ADF表の列ヘッダーにツールチップをレンダリングする属性コントロール・ヒント・ツールチップ

図10-13の説明が続きます
「図10-13 ADF表の列ヘッダーにツールチップをレンダリングする属性コントロール・ヒント・ツールチップ」の説明

注意:

図10-13は、EditCustomers-DT.xlsxワークブックの「郵便番号」列ヘッダー・セルの右上の小さい赤色の矢印を示しています。これは、ヘッダー・セルにコメントがあることを示します。マウス・ポインタをセルに合せると、ツールチップ・メッセージが表示されます。

ADF表コンポーネントへのツールチップの追加方法

ツールチップをレンダリングするADF表コンポーネントの列のTooltipプロパティを構成できます。

始める前に:

ツールチップについて理解しておくと役立ちます。「ADFデスクトップ統合コンポーネントでのツールチップの表示」を参照してください。

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

表の列ヘッダーにツールチップを追加する手順:

  1. 統合Excelワークブックを開きます。
  2. 表タイプ・コンポーネントがExcelワークシートにすでに挿入されている場合は、表のセルをクリックし、「Oracle ADF」タブで「プロパティの編集」をクリックします。

    表タイプをワークシートに挿入するには、コンポーネントを配置するセルを選択します。コンポーネント・パレットまたはバインディング・パレットで、表タイプ・コンポーネントまたはバインディングを選択し、「コンポーネントの挿入」または「バインディングの挿入」をクリックします。

  3. 「コンポーネントの編集: ADF表」ダイアログで、Columnsプロパティを展開します。目的の列のTooltipプロパティの参照(...)アイコンをクリックし、ツールチップ・メッセージを入力します。リテラル文字列またはEL式を入力できます。

    図10-14に、図10-13に示す実行時のツールチップをレンダリングするSummitサンプル・アプリケーションのEditCustomers-DT.xlsxワークブックのADF表の列ヘッダーのツールチップEL式を示します。

    図10-14 設計時のADF表の列ヘッダーのツールチップ

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

フォーム・タイプ・コンポーネントへのツールチップの追加方法

ツールチップをレンダリングするコンポーネントのTooltipプロパティを構成できます。

始める前に:

ツールチップについて理解しておくと役立ちます。「ADFデスクトップ統合コンポーネントでのツールチップの表示」を参照してください。

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

挿入されたフォームタイプ・コンポーネントにツールチップを追加する手順:

  1. 統合Excelワークブックを開きます。
  2. フォーム・タイプ・コンポーネントがExcelワークシートにすでに挿入されている場合は、コンポーネントを選択し、「Oracle ADF」タブで「プロパティの編集」をクリックします。

    コンポーネントをワークシートに挿入するには、コンポーネントを配置するセルを選択します。コンポーネント・パレットまたはバインディング・パレットで、フォーム・タイプ・コンポーネントまたはバインディングを選択し、「コンポーネントの挿入」または「バインディングの挿入」をクリックします。

  3. プロパティ・インスペクタで、Tooltipプロパティの参照(...)アイコンをクリックし、ツールチップ・メッセージを入力します。

    コンポーネントがバインディング要素から作成される場合、Tooltipプロパティはモデルドリブン・ツールチップに設定されます。必要に応じて、ツールチップ・メッセージまたはEL式を構成および変更できます。コンポーネントがバインディング要素から作成されていない場合、プロパティは空になります。

    図10-15に、入力テキスト・コンポーネントのTooltipプロパティを示します。

    図10-15 入力テキスト・コンポーネントのTooltipプロパティ

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

図10-16に、実行時のツールチップ・メッセージを示します。入力テキスト・コンポーネントの右上にある小さな赤い矢印に注意してください。これは、コンポーネントまたはセルにコメントがあることを示します。マウス・ポインタをコンポーネントに合せると、ツールチップ・メッセージが表示されます。

図10-16 実行時の入力テキスト・コンポーネントのツールチップ・メッセージ

この図は周囲のテキストで説明しています
フォーム・タイプ・コンポーネントのツールチップに関する必知事項

ツールチップは1回のみレンダリングされ、Worksheet.DownSyncをコールした後は更新されません。

設計時にADFコンポーネントを含むセル(またはマージされたエリア)に手動で追加されたExcelコメントは実行時に削除され、ADFコンポーネントのツールチップに置き換えられます。同様に、テスト・モード中にADFコンポーネントに手動で追加されたExcelコメントは、統合Excelワークブックが設計時モードに戻ると削除されます。ADFコンポーネントのないセルまたはツールチップをサポートしないADFコンポーネントに追加されたExcelコメントは、そのままになります。

実行時に、Tooltipプロパティが空でない場合、式が評価され、結果のテキストの空白がトリムされます。最終値が空でない場合は、その値がターゲット・セルにExcelコメントとして挿入されます。

コンポーネントがマージされたセル範囲に配置される場合、ツールチップはマージされた範囲の右上隅に表示されます。

ツールチップを表の列(「表の列のツールチップに関する必知事項」)およびワークシートのリボン・コマンド(「実行時リボン・タブのワークシート・リボン・コマンドの構成方法」)に追加することもできます。

注意:

  • ツールチップは、保護されたワークシートでは編集できません。

  • リボン・コマンド・ツールチップには、1024文字の最大サイズがあります。ツールチップ値がこの制限を超えた場合は、最初の1024文字のみ表示されます。

  • Excelコメントが無効になっている場合、フォーム・コンポーネントと表ヘッダーのツールチップはレンダリングされません。

  • ツールチップが過剰に使用されると、実行時のパフォーマンスに影響することがあります。

表の列のツールチップに関する必知事項

列ヘッダーのツールチップは、表の最初の初期化、Table.InitializeTable.Downloadアクションなど、表の列ヘッダーがレンダリングされるときに評価およびレンダリングされます。

列のTooltipプロパティが空でないEL式に設定されている場合は、EL式が評価されるテキストは空白がトリムされ、ターゲット・セルにExcelコメントとして挿入されます。

実行時に展開された各動的列の一意のツールチップを取得するには、ToolTipプロパティに次の構文で式を入力します。

#{bindings.<TreeID>.hints.*.tooltip}

実行時に、動的列は指定されたツリーまたはノードの使用可能な属性のセットに展開されます。ADFデスクトップ統合では、対応するツールチップ値も取得され、前述のルールを使用して適切な列に適用されます。

ツールチップの詳細は、「フォーム・タイプ・コンポーネントのツールチップに関する必知事項」を参照してください。表コンポーネントの特殊な列のヘッダー(「ADF表コンポーネント内の特殊な列」を参照)および動的な列(「ADF表コンポーネントへの動的な列の追加」を参照)にツールチップを追加することもできます

ワークシート保護の使用

デフォルトでは、ADFラベル、ADF出力テキスト、ADF表コンポーネントのヘッダー行など、読取り専用の動作を意味する、ロックされたセルおよびADFデスクトップ統合コンポーネントの値をエンド・ユーザーが実行時に編集できます。

データをアップロードする際、ADFデスクトップ統合は、コンポーネントを次に参照するときに、これらの変更を無視して上書きします。

様々なADFデスクトップ統合コンポーネント(例: ADF入力テキスト・コンポーネント)およびサブコンポーネント(例: ModelDrivenColumnComponentサブコンポーネント)には、ReadOnlyプロパティが含まれます。

ロックされたセルが実行時に編集されるのを防ぐには、ADFデスクトップ統合ワークシート保護を有効にします。オプションで、エンド・ユーザーがワークシート保護をオフにしないように、パスワードを提供できます。

Excelのシートの保護機能やブックの保護機能は、統合Excelワークブックで直接使用しないでください。また、エンド・ユーザーがこれらの機能を使用しないようにしてください。

ワークシート保護を有効化する方法

ワークシート保護を使用すると、ロックされたセルおよび読取り専用セルについて正真正銘の読取り専用モードを有効化し、実行時に編集されないようにします。

始める前に:

ワークシート保護について理解しておくと役立ちます。「ワークシート保護の使用」を参照してください。

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

ワークシート保護を有効化するには:

  1. 統合Excelワークブックを開きます。
  2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークシート・プロパティ」をクリックします。
  3. 「ワークシート・プロパティの編集」ダイアログで、Protectionプロパティを展開して次のように値を構成します。
    • 実行時にワークシートの保護を有効化するには、「モード」「自動」に設定します。

    • 必要があれば、「パスワード」・フィールドに値を入力します。エンド・ユーザーは、この値を知らなければ実行時にシートの保護をオフにできません。

      パスワードは暗号化されず、Excelで有効なパスワードの長さは最大255文字です。これより長いパスワードを指定すると、シート保護を切り替える際に実行時に警告なしで切り捨てられます。

    図10-17に、ADFデスクトップ統合のSummitサンプル・アプリケーションのワークシート保護の設計時の表示を示します。

    図10-17 ADFデスクトップ統合のSummitサンプル・アプリケーションのワークシート保護の設計時の表示

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

実行時の処理: Lockedプロパティのしくみ

実行時にエンド・ユーザーが読取り専用のセルやADFデスクトップ統合の読取り専用コンポーネントを編集しようとすると、Excelに図10-18に示すような警告メッセージが表示されます。

図10-18 実行時のワークシート保護の警告

図10-18の説明が続きます
「図10-18 実行時のワークシート保護の警告」の説明

ワークシート保護が有効化されている場合、ADFデスクトップ統合はADFデスクトップ統合コンポーネントの範囲にあるセルのLockedプロパティを制御します。ADFデスクトップ統合コンポーネントの範囲外にあるLockedプロパティは、影響を受けません。ADFデスクトップ統合では、ADFデスクトップ統合コンポーネントの範囲外にあるセルのLockedプロパティを変更しません。

実行時には、ADFデスクトップ統合はコンポーネントの読取り専用動作を評価します。ADFラベルやADF出力テキストなど一部のコンポーネントは常に読取り専用で、ADF入力テキストのような他のコンポーネントは読取り専用のプロパティを持っています。実行時には、読取り専用コンポーネントがtrueに評価されると、Lockedプロパティはtrueに設定されます。ADF表コンポーネントのヘッダー・ラベルは常に読取り専用ですが、列のサブコンポーネントは、構成によって読取り専用になる場合とならない場合があります。実行時には、各コンポーネントの読取り専用の動作が評価され、対応するセルのLockedプロパティは適切な値に設定されます。

ワークシートの保護に関する必知事項

ワークシート保護は、デフォルトでは有効になっていません。特定のワークシートに使用する場合は、設計時に有効にできます。また、ワークシートの保護が有効化された後は、セルのLockedプロパティは、実行時に設定されます。

ワークシート保護に使用するパスワードは暗号化されず、安全な場所に保存されない点にも注意してください。ワークシートの保護は、ワークシートの操作性を向上するためのものであり、重要なデータを保護するものではありません。

ワークシート保護を有効化した後は、Excelの動作が異なります。主な動作の違いは次のとおりです。

  • ADF表コンポーネントはKey列に読取り専用セルを含むため、ソートできません。

  • エンド・ユーザーは行全体または列全体を挿入できます。ただし、一度挿入すると削除はできません。

  • エンド・ユーザーは行や列を部分的には挿入できません。

ADFデスクトップ統合ELベースのプロパティとカスタム属性プロパティの使用

サーバー上のビュー・オブジェクトに定義したカスタム属性プロパティと、統合ExcelワークブックのADFデスクトップ統合ELベースのプロパティを使用できます。デフォルトでは、ADFデスクトップ統合EL式は、サーバー上で定義されたカスタム属性プロパティをサポートしていません。

サポートを有効にするには、Worksheet.CustomAttributePropertiesEnabledプロパティをTrueに設定する必要があります。

サポートを有効にすると、ELベースのプロパティ値でカスタム属性プロパティ名を参照できます。

統合Excelワークブックでカスタム属性プロパティを有効化する方法

カスタム属性プロパティを有効にする前に、1つ(またはそれ以上の)カスタム属性プロパティをFusion Webアプリケーションに構成します。ビュー・オブジェクトのUIヒントを定義する方法の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』ビュー・オブジェクトのUIヒントの定義に関する項を参照してください。

統合Excelワークブックでカスタム属性プロパティを有効にする手順:

  1. 統合Excelワークブックを開きます。
  2. 「Oracle ADF」タブの「ワークシート・プロパティ」をクリックします。
  3. CustomAttributePropertiesEnabledTrueに設定します。
  4. 「OK」をクリックします。

CustomAttributePropertiesEnabledTrueに設定すると、次のいずれかの形式を使用して、EL式内のカスタム属性プロパティを参照できます。

  • 属性ヒントの場合、"#{bindings.{attr id}.hints.{custom property}}"の形式を使用します。

  • ツリー属性の場合、"#{bindings.{tree id}.hints.{attr id}.{custom property}}"の形式を使用します。

  • 動的列ヒントの場合、"#{bindings.{tree id}.[{node id}].hints.*.{custom property}}"の形式を使用します。

次の例のdiCellStyleは、関連するモデル属性に開発者が追加したカスタム属性プロパティです。

  • 静的列の例: #{bindings.EmpCompView1.hints.EmployeeId.diCellStyle}

  • 動的列の例: #{bindings.EmpCompDeclSqlView1.[model.EmpCompDeclSqlView].hints.*.diCellStyle}

実行時の処理: CustomAttributePropertiesEnabledがtrueに設定される

ワークシートのCustomAttributePropertiesEnabledTrueに設定されている場合、ADFデスクトップ統合ELベースのプロパティは、サーバーから返されたカスタム属性プロパティの値の評価を開始します。

ヒント:

最適なパフォーマンスのために、可能であれば、カスタム・プロパティ値をリテラル値(例: Excelスタイル名)にしてください。

CustomAttributePropertiesEnabledプロパティに関する必知事項

CustomAttributePropertiesEnabledプロパティおよびその動作に関して、次の点に注意してください。

  • カスタム・プロパティ名では大文字と小文字が区別されます。

  • カスタム・プロパティ値がEL式(リテラル値ではなく)の場合、返されるプロパティ値はELとして再評価されます。

    注意:

    カスタム・プロパティ値が、列の読取り専用プロパティについて評価されるEL式の場合、このEL式の評価の詳細は「読取り専用プロパティのEL式の評価」を参照してください。
  • ELの再評価は、標準の属性ヒント値には適用されません。

  • CustomAttributePropertiesEnabledTrueの場合、ELのカスタム・プロパティ名の検証エラーは構成検証でレポートされません。

    CustomAttributePropertiesEnabledFalseの場合、ELのカスタム・プロパティ名の検証エラーは構成検証でレポートされます。

  • カスタム・プロパティ名が、予約済のヒント名(例: label)と一致している場合、カスタム・プロパティは無視されます。