Oracle® Fusion Middleware Oracle Application Development Frameworkデスクトップ統合開発者ガイド 11gリリース2(11.1.2.1.0) B66718-01 |
|
![]() 前 |
![]() 次 |
この章では、エンド・ユーザーがFusion Webアクションからのデータを管理できるようにするためにADFデスクトップ統合が提供するコンポーネントを、どのようにして挿入および構成できるかについて説明します。
この章の内容は次のとおりです。
ADFデスクトップ統合フォーム・タイプ・コンポーネントを使用すると、エンド・ユーザーが統合ExcelワークブックのFusion Webアプリケーションから取得したデータを管理できるようになります。5.5項「コンポーネント・パレットの使用」にあるとおり、コンポーネント・パレットのADFフォーム・コンポーネントを公開するのではなく、ADFデスクトップ統合は次のコンポーネントを使用して、統合Excelワークブックでフォーム・タイプ機能を作成します。
ADF入力テキスト
ADF出力テキスト
ADFラベル
ADF値リスト
ADFボタン
図6-1は、これらのコンポーネントを示します。
注意: ADFデスクトップ統合は、結合したセルに挿入されたコンポーネントはサポートしていません。 |
ADFデスクトップ統合フォーム・タイプ・コンポーネントは、ユーザーの入力やFusion Webアプリケーションからの出力用に統合Excelワークブックでフォームをビルドするときに使用されます。図6-2に示すように、EditPriceList-DT.xlsx
の検索エリアで使用されるフォーム・タイプ・コンポーネントを使用すると、エンド・ユーザーは製品を検索して、結果をADF表コンポーネントに表示できるようになります。
ワークシートにコンポーネントを追加した後、イベントやエンド・ユーザーのアクションに対する応答など、機能を追加しなければならないことがあります。フォーム・コンポーネントで使用可能な他の機能へのリンクは次のとおりです。
マネージドBeanからの出力の表示: ADFラベル・コンポーネントまたはADF出力テキスト・コンポーネントを使用して、マネージドBeanからの出力を表示できます。詳細は、6.7項「ADFコンポーネントのマネージドBeanからの出力の表示」を参照してください。
スタイル: 事前定義済のExcelのスタイルをいくつか使用して、フォーム・タイプ・コンポーネントの表示を構成できます。詳細は、9.2項「スタイルの使用」を参照してください。
EL式: EL式をフォーム・タイプ・コンポーネントとともに使用できます。詳細は、付録B「ADFデスクトップ統合のEL式」を参照してください。
ADFボタン・コンポーネントは、実行時にExcelワークシートのボタンをレンダリングします。エンド・ユーザーはこのボタンをクリックして、ClickActionSet
プロパティ・グループで指定される1つ以上のアクションを起動します。
LowerRightCorner
プロパティおよびPosition
プロパティは、実行時にExcelワークシートでボタンが占有する領域を決定します。
図6-3に、ADFボタン・コンポーネントのプロパティ・インスペクタが最前面に表示された状態を示します。ボタンのプロパティ・インスペクタが最前面に表示されています。エンド・ユーザーが実行時にこのボタンをクリックすると、ClickActionSet
で指定された配列のアクションが起動します。
ADFボタン・コンポーネントのプロパティの詳細は、付録A.8「ADFボタン・コンポーネントのプロパティ」を参照してください。
ADFボタン・コンポーネントを挿入するには:
統合Excelワークブックを開きます。
コンポーネントを配置するExcelワークシートのセルを選択します。
コンポーネント・パレットで「ADFボタン」を選択して、コンポーネントの挿入をクリックします。または、「Oracle ADF」タブで、コンポーネントの挿入ドロップダウン・リストから「ADFボタン」を選択します。
プロパティ・インスペクタで、コンポーネントが実行時に起動するアクションと、コンポーネントの外観、設計およびレイアウトを決定するプロパティを構成します。表6-1は、値を指定する必要のあるプロパティの概要および追加情報へのリンクを示します。
図6-1 ADFボタン・コンポーネントのプロパティ
プロパティ | 指定する内容 |
---|---|
|
ADFボタン・コンポーネントの目的を示すために実行時にラベルに解決される文字列またはEL式。たとえば、実行時のMaster Price Listモジュールの
このEL式は、 ラベルにアンパサンド文字( |
|
|
「OK」をクリックします。
図6-4は、実行時のADFボタン・コンポーネント(赤線の枠内)の例を示します。
注意:
|
ヒント: 設計モードでは、ボタンにフォーカスがある場合に、ボタンをクリックしたりスペースバーを押してプロパティ・インスペクタを開くことができます。右クリックして表示されるコンテキスト・メニューは、ボタンでは無効です。 |
統合Excelワークブックにナビゲーション・ボタンを追加して前または次のレコードに移動するには、6.9項「ナビゲーション・ボタンの使用」を参照してください。
ADFラベル・コンポーネントは、静的な文字列値を表示するために、アクティブなワークシートに挿入できるコンポーネントです。プロパティ・インスペクタのLabel
の入力フィールドに値を指定するか、式ビルダーを起動して、実行時に文字列に解決されるEL式を記述します。取得される文字列は、リソース・バンドルまたはエンティティあるいはビュー・オブジェクトの属性コントロールのヒント内で定義できます。たとえば、次のEL式は実行時にリソース・バンドルで定義される文字列キーの値に解決します。
#{bindings.ProductList.label}
ADFラベル・コンポーネントや他のOracle ADFコンポーネントでLabel
プロパティに指定する値は、Oracle ADFコンポーネントをホストするワークシートが初期化(初めて開く)されるときに評価されます。
プロパティ・インスペクタを使用して、スタイルや位置などのコンポーネントのプロパティをワークシートで構成できます。
図6-5に、ADFラベル・コンポーネントのプロパティ・インスペクタが最前面に表示された状態を示します。ADFラベル・コンポーネントは、実行時にres
リソース・バンドルで定義される文字列キーの値に解決されるEL式を参照します。
ADFラベル・コンポーネントを挿入するには:
統合Excelワークブックを開きます。
コンポーネントを配置するExcelワークシートのセルを選択します。
コンポーネント・パレットで「ADFラベル」を選択して、コンポーネントの挿入をクリックします。または、「Oracle ADF」タブで、コンポーネントの挿入ドロップダウン・リストから「ADFラベル」を選択します。
プロパティ・インスペクタで、コンポーネントの外観、設計およびレイアウトを決定するプロパティを構成します。
「OK」をクリックします。
図6-6は、実行時のADFラベル・コンポーネント(赤線の枠内)の例を示します。
注意: コンポーネントのプロパティを後から変更するには、コンポーネントを配置するワークシートのセルを選択して、プロパティ・インスペクタを表示します。または、セルで右クリックして、コンテキスト・メニューから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-7に、ADF入力テキスト・コンポーネントのプロパティ・インスペクタが最前面に表示された状態を示します。ADF入力テキスト・コンポーネントは、Fusion Order DemoアプリケーションのMaster Price ListモジュールのsearchTerm
属性バインディングにバインドされます。エンド・ユーザーは、このコンポーネントに検索用語を入力してから、ADFボタン・コンポーネントを使用して検索を開始します。
ADF入力テキスト・コンポーネントを挿入するには:
統合Excelワークブックを開きます。
コンポーネントを配置するExcelワークシートのセルを選択します。
コンポーネント・パレットで「ADF入力テキスト」を選択して、コンポーネントの挿入をクリックします。または、「Oracle ADF」タブで、コンポーネントの挿入ドロップダウン・リストから「ADF入力テキスト」を選択します。
プロパティ・インスペクタで、コンポーネントの外観、レイアウトおよび動作を決定するプロパティを構成します。表6-2は、値を指定する必要のあるいくつかのプロパティの概要を示します。このコンポーネントの他のプロパティの詳細は、A.2項「ADF入力テキスト・コンポーネントのプロパティ」を参照してください。
「OK」をクリックします。
注意: コンポーネントのプロパティを後から変更するには、コンポーネントを配置するワークシートのセルを選択して、プロパティ・インスペクタを表示します。または、セルで右クリックして、コンテキスト・メニューからADFコンポーネント・コンポーネント・プロパティの編集を選択し、プロパティ・インスペクタを開きます。 |
図6-8は、実行時のADF入力テキスト・コンポーネント(赤線の枠内)の例を示します。
ADF出力テキスト・コンポーネントは、コンポーネント・パレットを使用して、アクティブなワークシートに挿入できるコンポーネントです。コンポーネントの挿入時、ワークシートのアクティブなセルには、ワークシートDownSync
アクションを起動した後のコンポーネントのバインディングの現在の値が表示されます。コンポーネントにより表示される値は読取り専用です。エンド・ユーザーがセルの値に加える変更で、コンポーネントを配置するものは、変更がFusion Webアプリケーションに送信される際に無視されます。
また、このコンポーネントはADF表コンポーネントおよびADF読取り表コンポーネントのサブコンポーネントとして機能することができます。ADF表コンポーネントおよびADF読取り専用コンポーネントの列は、ADF出力テキスト・コンポーネントを使用するように構成できます。
スタイル、セルをダブルクリックしたときの動作(DoubleClickActionSet
プロパティ)および位置など、コンポーネントの様々なプロパティを、プロパティ・インスペクタを使用してワークシートで構成できます。
図6-9に、ADF出力テキスト・コンポーネントのプロパティ・インスペクタが最前面に表示された状態を示します。ADF出力テキスト・コンポーネントは、Fusion Order DemoアプリケーションのMaster Price ListモジュールのADF表コンポーネントを参照します。実行時には、ADF出力テキスト・コンポーネントを配置するセルに、ADF表コンポーネントから戻されるエラーがすべて表示されます。
ADF出力テキスト・コンポーネントを挿入するには:
統合Excelワークブックを開きます。
コンポーネントを配置するExcelワークシートのセルを選択します。
コンポーネント・パレットで「ADF出力テキスト」を選択して、コンポーネントの挿入をクリックします。または、「Oracle ADF」タブで、コンポーネントの挿入ドロップダウン・リストから「ADF出力テキスト」を選択します。
プロパティ・インスペクタで、コンポーネントの外観、レイアウトおよび動作を決定するプロパティを構成します。
たとえば、ADF出力テキスト・コンポーネントが何を参照するかを決定するために、Value
プロパティにEL式を記述または指定する必要があります。ADF出力テキスト・コンポーネントのプロパティに指定する値の詳細は、A.3項「ADF出力テキスト・コンポーネントのプロパティ」を参照してください。
「OK」をクリックします。
注意: コンポーネントのプロパティを後から変更するには、コンポーネントを配置するワークシートのセルを選択して、プロパティ・インスペクタを表示します。または、セルで右クリックして、コンテキスト・メニューからADFコンポーネント・コンポーネント・プロパティの編集を選択し、プロパティ・インスペクタを開きます。 |
図6-10は、実行時のADF出力テキスト・コンポーネント(赤線の枠内)の例を示します。
ADF値リスト・コンポーネントは、実行時にExcelワークシートのセルにドロップダウン・メニューを表示するコンポーネントです。実行時に最高250の値を表示します。値リスト・コンポーネントは、Excelワークシートのセルに挿入できます。
ListID
プロパティの値を指定する必要があります。ListID
プロパティは、ワークブックDownSync
アクションを起動した後で実行時にドロップダウン・メニューに値リストを移入するリスト・バインディングを参照します。
図6-11に、ADF値リスト・コンポーネントのプロパティ・インスペクタが最前面に表示された状態を示します。ADF値リスト・コンポーネントは、実行時にExcelワークシートのドロップダウン・メニューに値を移入するリスト・バインディング(ProductList
)を参照します。
注意: ADF表コンポーネントの列のドロップダウン・メニューは、TableColumn 配列のInsertComponent プロパティの値を指定する際に、TreeNodeList またはModelDrivenColumnComponent を作成するサブコンポーネントとして選択すれば表示できます。詳細は、7.13項「ADF表コンポーネント列での値リストの作成」を参照してください。 |
ADF値リスト・コンポーネントを挿入するには:
統合Excelワークブックを開きます。
コンポーネントを配置するExcelワークシートのセルを選択します。
コンポーネント・パレットで「ADF値リスト」を選択して、コンポーネントの挿入をクリックします。または、「Oracle ADF」タブで、コンポーネントの挿入ドロップダウン・リストからADF値リストを選択します。
ListIDプロパティの入力フィールドの横にある省略記号ボタン(...)をクリックしてバインディングIDピッカーを起動し、ページ定義ファイルで公開されたリスト・バインディングを選択します。
プロパティ・インスペクタで、コンポーネントの外観、設計およびレイアウトを決定する他のプロパティを構成します。ADF値リスト・コンポーネントのプロパティの詳細は、A.5項「ADF値リスト・コンポーネントのプロパティ」を参照してください。
「OK」をクリックします。
注意: コンポーネントのプロパティを後から変更するには、コンポーネントを配置するワークシートのセルを選択して、プロパティ・インスペクタを表示します。または、セルで右クリックして、コンテキスト・メニューから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の知識があると役に立つことがあります。詳細は、6.7項「ADFコンポーネントのマネージドBeanからの出力の表示」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、6.1.2項「ADFデスクトップ統合フォーム・タイプ・コンポーネントの追加機能」を参照してください。
マネージドBeanからの出力を表示するには:
統合Excelワークブックを開きます。
マネージドBeanからの出力を表示するADFコンポーネントを選択し、そのプロパティ・インスペクタを開きます。
図6-12は、Master Price ListモジュールのEditPriceList-DT.xlsx
ワークブックの一例を示します。ここでは、ADFラベル・コンポーネントが、アクション・バインディングにより移入された値を持つ属性バインディングからの出力を表示するように構成されています。
実行時にマネージドBeanからの出力を取得するEL式を記述します。
図6-12の例は、res
リソース・バンドルからの文字列キー(excel.connectionPrefix
)の値とloggedInUser
属性バインディングの値を取得するEL式を示します。この属性バインディングは、マネージドBeanからの出力を参照します。
「OK」をクリックします。
メソッド・アクション・バインディングは、マネージドBeanからの値を取得して属性バインディングに移入します。記述するEL式は、属性バインディングからの値を取得し、出力を表示するように構成したADFコンポーネントを通じてそれをエンド・ユーザーに表示します。たとえば、図6-13に示す設計モードのADFラベル・コンポーネントは、実行時に次のような文字列を表示します。
Connected as sking
図6-13では、sking
は統合Excelワークブックを介してFusion Webアプリケーションにログオンしているユーザーのユーザー名です。
ADFデスクトップ統合モジュールは、コンポーネント内で、1つのコンポーネントにより、計算または複数のバインディング式の連結に基づいたデータを表示可能なEL式をサポートしています。
EL式は、入力テキストまたは出力テキスト・コンポーネントのValue
プロパティに対して記述します。
図6-14は、Master Price ListモジュールのEditPriceList-DT.xlsx
ワークブックからのEL式の一例を示します。ここでは、列のADF出力テキスト・コンポーネントが、List Price列とCost Price列のマージンを表示するように構成されています。
始める前に:
ADFコンポーネント内での連結または計算されたデータの表示方法について理解しておくと、役に立つことがあります。詳細は、6.8項「コンポーネント内での連結または計算されたデータの表示」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、6.1.2項「ADFデスクトップ統合フォーム・タイプ・コンポーネントの追加機能」を参照してください。
計算されたデータを表示するEL式を作成するには
統合Excelワークブックを開きます。
計算されたデータを表示する、ADF入力テキストまたはADF出力テキストのコンポーネントを選択します。
プロパティ・インスペクタを開いて、Value
プロパティの省略記号ボタン(...)をクリックします。
2つ以上の式から出力を取得するEL式を記述します。
図6-1は、ある項目のList Price列とCost Price列の値の差異を計算し、それをCost Price列の値で割ってマージンを生成するEL式を示します。
「OK」をクリックします。
EL式の詳細は、付録B「ADFデスクトップ統合のEL式」を参照してください。
注意: ADF入力テキスト・コンポーネントのValue プロパティに式が含まれる場合、ReadOnly プロパティの値に関係なく、ADF入力テキスト・コンポーネントは実行時に読取り専用となります。 |
図6-15に示すような、あるレコードから別のレコードに移動するためのナビゲーション・ボタン(次、前へ、最初へ、最後)を作成できます。別のレコードに移動する前にエンド・ユーザーがレコードのデータを変更した場合、それらの変更を保存するか、または無視するかを選択できます。
別のレコードに移動する前に変更を保存し、次の順序でボタンのアクション・セットを定義するには:
Worksheet.UpSync
Commit
ナビゲーション・アクション(例: 「次」)
Worksheet.DownSync
注意: アクション・セットからCommit アクションを省略すると、複数のレコードに対する保留中のすべての変更は、エンド・ユーザーのWebアプリケーション・セッションが終了するときに失われます。 |
別のレコードに移動する前に変更を無視し、次の順序でボタンのアクション・セットを定義するには:
ナビゲーション・アクション(例: 「次」)
Worksheet.DownSync
注意: 変更を無視するボタン・アクションを定義する場合、別のレコードに移動する前に変更を保存することはエンド・ユーザーの役割となります。 |