您可以新增使用者的功能來選取資料表的一或多列,然後對這些列執行動作。
在將資料表放到頁面上之後,您就可以新增列選取支援。
- 選取資料表。
- 在資料表的「內容」視圖的列動作標籤中,
按一下「將選項直欄新增至表格中」旁的新增。 這時資料表左邊會新增一個新直欄。這個直欄包含一個勾選框。
(請注意,新增按鈕會變更為移除,以便將來您想要移除列選項直欄)。
- 選取新直欄中的勾選框。
- 在 inputRowSelect 的「內容」視圖中:
- 您可以設定勾選框的內容和樣式,或選擇使用新影像來代替預設勾選框。
- 按一下「新增選項工具列」旁的新增,
將選項工具列新增至資料表的標底。(您也可以將工具列移至標頭。)利用選項工具列,使用者可以選取列。
- 按一下「新增選項組合框」旁的新增,
將選項組合框新增至資料表的標底。(您也可以將組合框移至標頭。)利用選項組合框,使用者可以選取全部列,或全部不選。
- 您有數個用來連結列選取元件的選項:
- 實作 Collection 的物件(例如,AbstractList)。當送出頁面時,Collection 將會包含 Map 物件,其內容由「參數」標籤所定義。如果要實作這個選項,請按一下 inputRowSelect 之下的「參數」標籤,
新增一個參數來建立列選取直欄與資料來源的關聯性。這也會識別已選取的列。在 inputRowSelect 參數的「內容」視圖開啟之後,按一下「新增參數」來新增參數。然後,選取預設參數名稱,並給它一個新名稱。選取參數的值,並按一下顯示在該值旁的按鈕,
來顯示「顯示頁面資料物件」對話框。
在這個對話框中,選取資料表的資料來源的主鍵欄位,然後按一下「確定」。列選取即會連結到資料來源。
- Boolean[] 或 boolean[] 選項。這個陣列對應於 dataTable 的一些列。第一列對應於 [0]。
- Integer[] 或 int[] 選項,其中陣列包含所選列的索引。列選取元件會依所需修改陣列長度。索引可用來存取連結至 dataTable 的特定資料列。
- 當您連結至被連結至資料表 (dataTable) 的資料清單的某一欄時之時間的 Boolean 選項。
- 新增一或多個按鈕來對所選的列執行動作。
- 將「指令 - 按鈕」元件(或「指令 - 超鏈結」元件)從選用區拖曳至頁面。
- 在按鈕的「內容」視圖的顯示選項標籤中,
在按鈕標籤欄位中輸入按鈕的標籤。
- 指定按鈕的任何其他屬性。
- 利用按鈕的「快速編輯」視圖,建立動作和按鈕的關聯性。
- 如果要新增預先編碼的動作(如:「移至頁面」、「新增表單」、「更新記錄」或「刪除記錄」),請用滑鼠右鍵按一下「快速編輯」視圖的右窗格,然後從插入片段功能表中選取動作。
- 如果要撰寫您自己的動作程式碼,請用滑鼠左鍵按一下「快速編輯」視圖的右窗格,刪除預設程式碼,再新增您自己的程式碼。
- 如果需要利用動作來傳遞參數的範例,請參閱以資料表傳遞參數或在 JSP 頁面之間傳遞參數。
inputRowSelect 元件需要將它的值連結到下列其中一個物件類型。
值連結必須設為非空值物件。RowSelect 值通常儲存在 Java™ Bean。請注意,下列選項清單中的前三個選項執行較有效率,因為 dataTable 會重新載入列示物件,並使它可供動作程式碼使用。
這個值同時用於呈現和傳回。
- Boolean - 使用列示物件的內容
<h:dataTable value="#{pc_opage.myList}" var="varmyList">
<h:column>
<hx:inputRowSelect value="#{varmyList.selected}>
</h:column>
</h:dataTable>
- Boolean[] 或 boolean[] - 符合清單的陣列。如果 isSelected[4] 為 true,
則已選取清單的第五個元素。
<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>
- Collection - 包含 Map 物件的 Collection 物件(比方說 ArrayList)。
每一個對映都有名稱/值配對,這是參數子項標示對每一個已選取的元素所定義的。
<h:dataTable value="#{pc_opage.myList}" var="varmyList">
<h:column>
<hx:inputRowSelect value="#{pc_opage.selected}>
<h:column>
</h:dataTable>