データベース・テーブルの 1 つまたは複数の行を選択して、
その行に対するアクションを実行するユーザー機能を追加できます。
データ・テーブルをページに配置した後で、行選択サポートを追加できます。
- データ・テーブルを選択する。
- データ・テーブルの「プロパティー」ビューの「行アクション」タブで、
「選択列をテーブルに追加」の横にある「追加」をクリックする。 データ・テーブルの左側に新規列が追加されます。
この列には、チェック・ボックスが付いています。(「追加」ボタンは、
後で行選択列を削除する場合には「除去」に変わることに注意してください。)
- 新規列のチェック・ボックスを選択する。
- inputRowSelect の「プロパティー」ビューで、次の手順を実行する。
- チェック・ボックスでプロパティーおよびスタイルを設定したり、
あるいはデフォルトのチェック・ボックスの代わりに新規イメージを選択することができます。
- 「選択ツールバーの追加」の横にある「追加」をクリックして、
データ・テーブルの選択ツールバーとフッターを追加する。
(また、ツールバーをヘッダーに移動することもできます。)
選択ツールバーを使用して、ユーザーは行を選択することができます。
- 「選択コンボ・ボックスの追加」の横にある「追加」をクリックして、
データ・テーブルの選択コンボ・ボックスとフッターを追加する。
(また、コンボ・ボックスをヘッダーに移動することもできます。)
選択コンボ・ボックスを使用して、
ユーザーはすべての行を選択したり、または 1 行も選択しないことができます。
- 行選択コンポーネントをバインドするためのオプションが複数ある。
- コレクションを実装するためのオブジェクト (例えば、AbstractList)。
このページが実行されると、このコレクションには、コンテンツが「パラメーター」タブで定義される Map オブジェクトが入ります。
このオプションを実装するには、inputRowSelect の下の「パラメーター」タブをクリックして、データ・ソースと行選択列を関連付けるパラメーターを追加してください。
これにより選択された行も識別します。inputRowSelect パラメーターの「プロパティー」ビューが開いたら、「パラメーターの追加」をクリックして、パラメーターを追加します。
次に、これに新しい名前を与えるためにデフォルト・パラメーター名を選択します。
パラメーターの値を選択し、値の横に表示されているボタンをクリックして、「ページ・データ・オブジェクトの選択」ダイアログを表示します。
このダイアログで、データ・テーブルのデータ・ソースの主キーであるフィールドを選択して、「OK」をクリックします。
行選択がデータ・ソースにバインドされます。
- Boolean[] または boolean[] オプション。
この配列は、dataTable の行に対応します。最初の行は、[0] に対応します。
- Integer[] または int[] オプション。この場合、配列は、選択した行の索引を含みます。配列長は、行選択コンポーネントが必要とする長さに変更されます。
この索引は、dataTable にバインドされているデータの特定行をアクセスするために使用できます。
- データ・テーブル (dataTable) にバインドされるデータ・リスト列へのバインディングを行うときは、回数に対する Boolean オプション。
- 選択した行に対するアクションを実行するためのボタンを 1 つまたは複数個追加する。
- 「ボタン - コマンド」コンポーネント (または「リンク - コマンド」コンポーネント) をパレットからページにドラッグする。
- ボタンの「プロパティー」ビューの「表示オプション」タブで、
「ボタン・ラベル」フィールドにボタンのラベルを入力する。
- 対象のボタンに、その他の属性を指定する。
- ボタンの「クイック編集」ビューを使用して、ボタンにアクションを関連付ける。
- コーディング済みアクション (「ジャンプ先のページ」、「フォームの追加」、「レコードの更新」、
「レコードの削除」など) を追加するには、「クイック編集」ビューの右側のペインを右クリックして、
「断片の挿入」メニューからアクションを選択する。
- 独自のアクションをコーディングするには、
「クイック編集」ビューの右側のペインを左クリックし、デフォルト・コードを削除して独自のコードを追加する。
- パラメーターを渡すアクションの使用例については、
『データ・テーブルによるパラメーターの引き渡し』または『JSP ページ間のパラメーターの引き渡し』を参照してください。
inputRowSelect コンポーネントは、その値を以下のオブジェクト・タイプのいずれかにバインドさせることが必要です。
バインディングされる値は、非ヌル・オブジェクトに設定される必要があります。
RowSelect 値は、通常、Java™ Bean に保管されます。
オプションの以下のリストにある最初の 3 つのオプションは、
dataTable がリスト・オブジェクトを再ロードして、
アクション・コードに対して使用できるようにした時により効果的に実行できる、
ということに注目してください。この値は、レンダリングおよび通知が戻される時の両方に使用されます。
- ブール - リスト・オブジェクトのプロパティーを処理します。
<h:dataTable value="#{pc_opage.myList}" var="varmyList">
<h:column>
<hx:inputRowSelect value="#{varmyList.selected}>
</h:column>
</h:dataTable>
- Boolean[] または boolean[] - リストに一致する配列。
isSelected[4] が true である場合、リストの 5 番目の要素が選択されました。
<h:dataTable value="#{pc_opage.myList}" var="varmyList">
<h:column>
<hx:inputRowSelect value="#{pc_opage.isSelected}>
</h:dataTable>
- Integer[] または int[] - リストの選択された要素の索引を含む配列。
<h:dataTable value="#{pc_opage.myList}" var="varmyList">
<h:column>
<hx:inputRowSelect value="#{pc_opage.selected}>
<h:column>
</h:dataTable>
- コレクション - Map オブジェクトを含むコレクション・オブジェクト (例えば、ArrayList)。
各 Map は、選択された各要素のパラメーター子タグによって定義される名前/値ペアのセットを持っています。
<h:dataTable value="#{pc_opage.myList}" var="varmyList">
<h:column>
<hx:inputRowSelect value="#{pc_opage.selected}>
<h:column>
</h:dataTable>