Oracle® Fusion Middleware Oracle Application Development Frameworkデスクトップ統合開発者ガイド 11gリリース1 (11.1.1.7.0) B66694-02 |
|
前 |
次 |
この章では、エンド・ユーザーがFusion Webアクションから取得したデータを管理できるようにするためにADFデスクトップ統合に用意されているコンポーネント(ボタン、ラベル、入力テキスト、出力テキスト、値リストなど)を挿入および構成する方法について説明します。また、Excel式を使用してこれらのコンポーネント内で計算されたデータを表示する方法についても説明します。
この章の内容は次のとおりです。
ADFデスクトップ統合フォーム・タイプ・コンポーネントを使用すると、エンド・ユーザーが統合ExcelワークブックのFusion Webアプリケーションから取得したデータを管理できるようになります。5.5項「コンポーネント・パレットの使用」にあるとおり、コンポーネント・パレットのADFフォーム・コンポーネントを公開するのではなく、ADFデスクトップ統合は次のコンポーネントを使用して、統合Excelワークブックでフォーム・タイプ機能を作成します。
ADF入力テキスト
ADF出力テキスト
ADFラベル
ADF値リスト
ADFボタン
フォーム・コンポーネントやバインディングをマージされたセルに挿入、またはフォーム・コンポーネントやバインディングの挿入後にセルをマージすることはできますが、複数のフォーム・コンポーネントをマージされたセルに挿入、または異なるフォーム・コンポーネントがあるセルをマージすることはできません。
コンポーネントをマージされたセルに挿入する前に、次のことに注意してください。
ドラッグ・アンド・ドロップ機能は、コンポーネントのマージされたセルへの挿入ではサポートされません。
コンポーネント・セルを、上または左にある空白ではないセルとマージしないでください。2つ以上のセルがマージされる場合、Excelでは最も左上のセルのデータおよびスタイルが保持され、残りのセルのデータは破棄されます。そのため、コンポーネント・セルを、上または左にある空白ではないセルとマージすると、コンポーネント・データが上書きされることになります。
値またはバインディングがない空のコンポーネント・セルを、上または左の空白のセルと、マージしないでください。空のコンポーネント・セルを、上または左にある空白のセルとマージすると、コンポーネント・セルのスタイルが上書きされることになります。
ADFデスクトップ統合フォーム・タイプ・コンポーネントは、ユーザーの入力やFusion Webアプリケーションからの出力用に統合Excelワークブックでフォームをビルドするときに使用されます。図6-1に示すように、EditWarehouses-DT.xlsx
のナビゲーション・フォームに使用されるフォーム・タイプ・コンポーネントにより、エンド・ユーザーはデータを容易にナビゲートおよび更新することができます。
ADFボタン・コンポーネントは、実行時にExcelワークシートのボタンをレンダリングします。エンド・ユーザーはこのボタンをクリックして、ClickActionSet
プロパティ・グループで指定される1つ以上のアクションを起動します。
LowerRightCorner
プロパティおよびPosition
プロパティは、実行時にExcelワークシートでボタンが占有する領域を決定します。
図6-2に、ADFボタン・コンポーネントのプロパティ・インスペクタが最前面に表示された状態を示します。ボタンのプロパティ・インスペクタが最前面に表示されています。エンド・ユーザーが実行時にこのボタンをクリックすると、ClickActionSet
で指定された配列のアクションが起動します。
ADFボタン・コンポーネントのプロパティの詳細は、付録A.8「ADFボタン・コンポーネントのプロパティ」を参照してください。
ADFボタン・コンポーネントを挿入するには:
統合Excelワークブックを開きます。
コンポーネントを配置するExcelワークシートのセルを選択します。
コンポーネント・パレットで「ADFボタン」を選択して、コンポーネントの挿入をクリックします。または、「Oracle ADF」タブで、コンポーネントの挿入ドロップダウン・リストから「ADFボタン」を選択します。
プロパティ・インスペクタで、コンポーネントが実行時に起動するアクションと、コンポーネントの外観、設計およびレイアウトを決定するプロパティを構成します。表6-1は、値を指定する必要のあるプロパティの概要および追加情報へのリンクを示します。
図6-1 ADFボタン・コンポーネントのプロパティ
プロパティ | 指定する内容 |
---|---|
|
ADFボタン・コンポーネントの目的を示すために実行時にラベルに解決される文字列またはEL式。ボタン・ラベルのデフォルトはアクション・バインディングIDです。 EL式(使用される場合)は、 ラベルにアンパサンド文字( |
|
|
「OK」をクリックします。
図6-3は、実行時のADFボタン・コンポーネント(赤線の枠内)の例を示します。
注意:
|
ヒント: 設計モードでは、ボタンにフォーカスがある場合に、ボタンをクリックしたりスペースバーを押してプロパティ・インスペクタを開くことができます。右クリックして表示されるコンテキスト・メニューは、ボタンでは無効です。 |
統合Excelワークブックにナビゲーション・ボタンを追加して前または次のレコードに移動するには、6.9項「ナビゲーション・ボタンの使用」を参照してください。
ADFラベル・コンポーネントは、静的な文字列値を表示するために、アクティブなワークシートに挿入できるコンポーネントです。プロパティ・インスペクタのLabel
の入力フィールドに値を指定するか、式ビルダーを起動して、実行時に文字列に解決されるEL式を記述します。取得される文字列は、リソース・バンドルまたはエンティティあるいはビュー・オブジェクトの属性コントロールのヒント内で定義できます。たとえば、次のEL式は実行時にCountryId属性のラベルの値に解決されます。
#{bindings.CountryId.label}
ADFラベル・コンポーネントや他のOracle ADFコンポーネントでLabel
プロパティに指定する値は、Oracle ADFコンポーネントをホストするワークシートが初期化(初めて開く)されるときに評価されます。
プロパティ・インスペクタを使用して、スタイルや位置などのコンポーネントのプロパティをワークシートで構成できます。
図6-4に、ADFラベル・コンポーネントのプロパティ・インスペクタが最前面に表示された状態を示します。ADFラベル・コンポーネントは、実行時にCountryId属性のラベルに解決されるEL式を参照します。
ADFラベル・コンポーネントを挿入するには:
統合Excelワークブックを開きます。
コンポーネントを配置するExcelワークシートのセルを選択します。
コンポーネント・パレットで「ADFラベル」を選択して、コンポーネントの挿入をクリックします。または、「Oracle ADF」タブで、コンポーネントの挿入ドロップダウン・リストから「ADFラベル」を選択します。
プロパティ・インスペクタで、コンポーネントの外観、設計およびレイアウトを決定するプロパティを構成します。
「OK」をクリックします。
図6-5は、実行時のADFラベル・コンポーネント(赤線の枠内)の例を示しています。
注意: コンポーネントのプロパティを後から変更するには、コンポーネントを配置するワークシートのセルを選択して、プロパティ・インスペクタを表示します。または、セルで右クリックして、「ADFコンポーネント・プロパティの編集」を選択し、プロパティ・インスペクタを開きます。 コンポーネントを削除するには、「削除」リボン・コマンドを使用します。詳細は5.14項「ADFデスクトップ統合コンポーネントの削除」を参照してください。 |
統合Excelワークブックでのラベルの使用の詳細は、9.4項「統合Excelワークブックでのラベルの使用」を参照してください。
ADF入力テキスト・コンポーネントは、コンポーネント・パレットを使用して、アクティブなワークシートに挿入できるコンポーネントです。コンポーネントの挿入時、ワークシートのアクティブなセルには、ワークシートDownSync
アクションが起動された後のコンポーネントのバインディングの現在の値が表示されます。エンド・ユーザーは実行時にこの値を編集できます。ワークシートUpSync
アクションを構成して、エンド・ユーザーが値に加える変更をFusion WebアプリケーションおよびCommit
アクション・バインディングに送信して、Fusion Webアプリケーションで変更をコミットします。
ユーザーがプロパティ・インスペクタを使用してワークシートのセル(DoubleClickActionSet
プロパティ)をダブルクリックすると、位置やスタイル、動作といったコンポーネントのプロパティの多くを構成できます。DoubleClickActionSet
の詳細は、8.2項「アクション・セットの使用」を参照してください。
ADF表コンポーネントは、ADF表コンポーネントの列のInsertComponent
プロパティまたはUpdateComponent
プロパティの値を設定すると、このコンポーネントをサブコンポーネントとして起動できます。このコンテキストでは、ADF入力テキスト・コンポーネントによって、エンド・ユーザーはADF表コンポーネントにデータを入力できるようになります。詳細は、7.5項「データを挿入するためのADF表コンポーネントの構成」を参照してください。
図6-6に、ADF入力テキスト・コンポーネントのプロパティ・インスペクタが最前面に表示された状態を示します。ADF入力テキスト・コンポーネントは、ADFデスクトップ統合のSummitサンプル・アプリケーションのCity
属性バインディングへバインドされます。ユーザーは、このコンポーネントに市の名前を入力します。
ADF入力テキスト・コンポーネントを挿入するには:
統合Excelワークブックを開きます。
コンポーネントを配置するExcelワークシートのセルを選択します。
コンポーネント・パレットで「ADF入力テキスト」を選択して、コンポーネントの挿入をクリックします。または、「Oracle ADF」タブで、コンポーネントの挿入ドロップダウン・リストから「ADF入力テキスト」を選択します。
プロパティ・インスペクタで、コンポーネントの外観、レイアウトおよび動作を決定するプロパティを構成します。表6-2は、値を指定する必要のあるいくつかのプロパティの概要を示します。このコンポーネントの他のプロパティの詳細は、A.2項「ADF入力テキスト・コンポーネントのプロパティ」を参照してください。
「OK」をクリックします。
注意: コンポーネントのプロパティを後から変更するには、コンポーネントを配置するワークシートのセルを選択して、プロパティ・インスペクタを表示します。または、セルで右クリックして、「ADFコンポーネント・プロパティの編集」を選択し、プロパティ・インスペクタを開きます。 コンポーネントを削除するには、「削除」リボン・コマンドを使用します。詳細は5.14項「ADFデスクトップ統合コンポーネントの削除」を参照してください。 |
図6-7は、実行時のADF入力テキスト・コンポーネント(赤線の枠内)の例を示します。
ADF出力テキスト・コンポーネントは、コンポーネント・パレットを使用して、アクティブなワークシートに挿入できるコンポーネントです。コンポーネントの挿入時、ワークシートのアクティブなセルには、ワークシートDownSync
アクションを起動した後のコンポーネントのバインディングの現在の値が表示されます。コンポーネントにより表示される値は読取り専用です。エンド・ユーザーがセルの値に加える変更で、コンポーネントを配置するものは、変更がFusion Webアプリケーションに送信される際に無視されます。
また、このコンポーネントはADF表コンポーネントおよびADF読取り表コンポーネントのサブコンポーネントとして機能することができます。ADF表コンポーネントおよびADF読取り専用コンポーネントの列は、ADF出力テキスト・コンポーネントを使用するように構成できます。
スタイル、セルをダブルクリックしたときの動作(DoubleClickActionSet
プロパティ)および位置など、コンポーネントの様々なプロパティを、プロパティ・インスペクタを使用してワークシートで構成できます。
図6-8に、ADF出力テキスト・コンポーネントのプロパティ・インスペクタが最前面に表示された状態を示します。
ADF出力テキスト・コンポーネントを挿入するには:
統合Excelワークブックを開きます。
コンポーネントを配置するExcelワークシートのセルを選択します。
コンポーネント・パレットで「ADF出力テキスト」を選択して、コンポーネントの挿入をクリックします。または、「Oracle ADF」タブで、コンポーネントの挿入ドロップダウン・リストから「ADF出力テキスト」を選択します。
プロパティ・インスペクタで、コンポーネントの外観、レイアウトおよび動作を決定するプロパティを構成します。
たとえば、ADF出力テキスト・コンポーネントが何を参照するかを決定するために、Value
プロパティにEL式を記述または指定する必要があります。ADF出力テキスト・コンポーネントのプロパティに指定する値の詳細は、A.3項「ADF出力テキスト・コンポーネントのプロパティ」を参照してください。
「OK」をクリックします。
注意: コンポーネントのプロパティを後から変更するには、コンポーネントを配置するワークシートのセルを選択して、プロパティ・インスペクタを表示します。または、セルで右クリックして、「ADFコンポーネント・プロパティの編集」を選択し、プロパティ・インスペクタを開きます。 コンポーネントを削除するには、「削除」リボン・コマンドを使用します。詳細は5.14項「ADFデスクトップ統合コンポーネントの削除」を参照してください。 |
図6-9は、実行時のADF出力テキスト・コンポーネント(赤線の枠内)の例を示します。
ADF値リスト・コンポーネントは、実行時にExcelワークシートのセルにドロップダウン・メニューを表示するコンポーネントです。実行時に最大250の値が表示されます。値リスト・コンポーネントは、Excelワークシートのセルに挿入できます。
ListID
プロパティの値を指定する必要があります。ListID
プロパティは、ワークブックDownSync
アクションを起動した後で実行時にドロップダウン・メニューに値リストを移入するリスト・バインディングを参照します。
図6-10に、ADF値リスト・コンポーネントのプロパティ・インスペクタが最前面に表示された状態を示します。ADF値リスト・コンポーネントは、実行時にExcelワークシートのドロップダウン・メニューに値を移入するリスト・バインディング(RegionId
)を参照します。
注意: ADF表コンポーネントの列のドロップダウン・メニューは、 |
ADF値リスト・コンポーネントを挿入するには:
統合Excelワークブックを開きます。
コンポーネントを配置するExcelワークシートのセルを選択します。
コンポーネント・パレットで「ADF値リスト」を選択して、コンポーネントの挿入をクリックします。または、「Oracle ADF」タブで、コンポーネントの挿入ドロップダウン・リストからADF値リストを選択します。
ListIDプロパティの入力フィールドの横にある参照(...)アイコンをクリックしてバインディングIDピッカーを起動し、ページ定義ファイルで公開されたリスト・バインディングを選択します。
プロパティ・インスペクタで、コンポーネントの外観、設計およびレイアウトを決定する他のプロパティを構成します。ADF値リスト・コンポーネントのプロパティの詳細は、A.5項「ADF値リスト・コンポーネントのプロパティ」を参照してください。
「OK」をクリックします。
注意: コンポーネントのプロパティを後から変更するには、コンポーネントを配置するワークシートのセルを選択して、プロパティ・インスペクタを表示します。または、セルで右クリックして、「ADFコンポーネント・プロパティの編集」を選択し、プロパティ・インスペクタを開きます。 コンポーネントを削除するには、「削除」リボン・コマンドを使用します。詳細は5.14項「ADFデスクトップ統合コンポーネントの削除」を参照してください。 |
ADFコンポーネントを構成して、マネージドBeanからの出力をFusion Webアプリケーションで表示できます。Fusion WebアプリケーションでのマネージドBeanの使用方法の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のFusion WebアプリケーションでのマネージドBeanの使用に関する項にあります。統合Excelワークブック内のマネージドBeanはEL式を通じて参照します。Excelワークシートに関連付けるページ定義ファイルにメソッド・アクション・バインディングを追加して、マネージドBeanの値を取得し、それを属性バインディングに割り当てます。EL式を使用して、実行時に属性バインディングの値を取得します。
EL式は、EL式をサポートするプロパティ(Label
プロパティなど)に記述します。
マネージドBeanからの出力を表示するには:
統合Excelワークブックを開きます。
マネージドBeanからの出力を表示するADFコンポーネントを選択し、そのプロパティ・インスペクタを開きます。
図6-11に、ADFラベル・コンポーネントが、アクション・バインディングにより移入された値を持つ属性バインディングからの出力を表示するように構成されている例を示します。
実行時にマネージドBeanからの出力を取得するEL式を記述します。
図6-11の例は、res
リソース・バンドルからの文字列キー(excel.connectionPrefix
)の値とloggedInUser
属性バインディングの値を取得するEL式を示します。この属性バインディングは、マネージドBeanからの出力を参照します。
「OK」をクリックします。
メソッド・アクション・バインディングは、マネージドBeanからの値を取得して属性バインディングに移入します。記述するEL式は、属性バインディングからの値を取得し、出力を表示するように構成したADFコンポーネントを通じてそれをエンド・ユーザーに表示します。たとえば、図6-12に示す設計モードのADFラベル・コンポーネントは、実行時に次のような文字列を表示します。
Connected as sking
図6-12では、sking
は統合Excelワークブックを介してFusion Webアプリケーションにログオンしているユーザーのユーザー名です。
ADFデスクトップ統合モジュールは、コンポーネント内で、1つのコンポーネントにより、計算または複数のバインディング式の連結に基づいたデータを表示可能なEL式をサポートしています。
EL式は、入力テキストまたは出力テキスト・コンポーネントのValue
プロパティに対して記述します。
図6-13に、ADF出力テキスト・コンポーネントが2つのフィールド、List PriceおよびCost Price間のマージンを表示するように構成されているEL式の例を示します。
計算されたデータを表示するEL式を作成するには
統合Excelワークブックを開きます。
計算されたデータを表示する、ADF入力テキストまたはADF出力テキストのコンポーネントを選択します。
プロパティ・インスペクタを開き、Value
プロパティの参照(...)アイコンをクリックします。
2つ以上の式から出力を取得するEL式を記述します。
図6-1は、2つのフィールド、List PriceとCost Priceの値の差異を計算し、それをCost Price列の値で割ってマージンを生成するEL式を示しています。
「OK」をクリックします。
EL式の詳細は、付録B「ADFデスクトップ統合のEL式」を参照してください。
注意: ADF入力テキスト・コンポーネントの |
図6-14に示すような、あるレコードから別のレコードに移動するためのナビゲーション・ボタン(次、前へ、最初へ、最後)を作成できます。別のレコードに移動する前にエンド・ユーザーがレコードのデータを変更した場合、それらの変更を保存するか、または無視するかを選択できます。
別のレコードに移動する前に変更を保存し、次の順序でボタンのアクション・セットを定義するには:
Worksheet.UpSync
Commit
ナビゲーション・アクション(例: 「次」)
Worksheet.DownSync
注意: アクション・セットから |
別のレコードに移動する前に変更を無視し、次の順序でボタンのアクション・セットを定義するには:
ナビゲーション・アクション(例: 「次」)
Worksheet.DownSync
注意: 変更を無視するボタン・アクションを定義する場合、別のレコードに移動する前に変更を保存することはエンド・ユーザーの役割となります。 |