JClientでは、JClientデータ・パネルで検索モードを有効にしてJUNavigationBarコントロールを使用すると、パラメータ付き問合せをサポートできます。検索モードでは、サポートされているJClientコントロール・バインドを介してユーザーがデータ・パネルから検索条件を入力できます。
検索モードの操作が可能なデータ・パネルを最も簡単に作成するには、データ・パネルから検索を実行するBC4Jビュー・オブジェクトにJUNavigationBarをバインドします。ナビゲーション・バーには「検索」ボタンが表示されます。ユーザーはこのボタンを選択してデータ・フォームへのJClientコントロール・バインドの動作を次のように切り替えます。
検索モード・ボタンの状態は、JUNavigationBarのhasFindButtonプロパティによって制御されます(デフォルトではtrue)。
パラメータ付き問合せは、実行時に値が指定されるプレースホルダが含まれた問合せです。たとえば、次のPL/SQL文のmin_salary
はパラメータ値のプレースホルダで、実行時に値が指定されます。
SELECT ename, job, mgr FROM emp WHERE sal < :min_salary
検索モードのデータ・パネルではJClientコントロール・バインドを使用して、バインドされたビジネス・コンポーネント・ビュー・オブジェクトの属性のうち、「問合せ可能」プロパティがtrue
に設定されている属性に対してフィールドを表示します。ビュー・オブジェクトは、ビジネス・コンポーネントにより実行される最初の問合せを定義します。
一部のJClientコントロール・バインドでは、検索モードはサポートされません。データ・パネルを特に検索用に作成する場合は、検索条件の入力を可能にするため、フォームにはBC4Jビュー・オブジェクト属性にバインドされる次のコントロールを使用します。
ユーザーが検索モードを選択する際には、前述のリストに含まれていないコントロールをデータ・パネルで使用不可にすることをお薦めします。検索モードをサポートしていないコントロールを使用不可にすることによって、無効な検索条件の送信を防止できます。
検索モードを使用したデータ・パネルの一般的な使用方法を次に示します。
パネルを検索モードにします。
たとえば、(BC4Jビュー・オブジェクトにバインドされている)JUNavigationBarにデフォルトで表示される「検索」ボタンをクリックします。
すでにフォームに返されているデータの結果を絞り込むための検索条件を入力します。
検索モードにより、ワイルド・カードを使用したアンカー検索が行われます。
ここでは検索列の先頭文字がアンカーとして使用され、入力した文字列で始まるすべての文字列が検索されます。
JClientで同じビュー・オブジェクトにバインドした別のコントロール(JTableコントロールなど)に、パラメータ付き問合せの結果が表示されます。
BC4Jでのビュー基準の使用方法の詳細は、JavaDocで次のクラスを参照してください。
oracle.jbo.ViewCriteria