Самый чистый способ выбрать элементы из таблицы Richfaces? Picklist? - PullRequest
2 голосов
/ 31 марта 2011

Я ищу способы выбора элементов из таблицы Richfaces.В прошлом я работал с флажками.Они чертовски беспорядок и их трудно поддерживать.Список выбора - это именно тот тип функциональности, который мне нужен, но пользователь будет выбирать / выбирать на основе ряда факторов, поэтому dataTable (или extendedDataTable) имеет смысл.

Какой самый чистый способвыбрать элементы из таблицы Richfaces? Если ваш ответ - список выбора, уточните, как объединить функциональность таблицы и списка выбора.

1 Ответ

3 голосов
/ 02 апреля 2011

rich:extendedDataTable имеет атрибут selection для привязки к переменной в MBean, которая содержит выбранные строки. Эта переменная должна иметь тип org.richfaces.model.selection.Selection

Ваш rich:extendedDataTable также должен позволять вам выбирать несколько строк, что можно сделать, указав атрибут selectioMode равный multi

Итак, вам rich:extendedDataTable должно понравиться:

<rich:extendedDataTable  value="#{mBean.custList}"  selection="#{mBean.selection}" selectionMode="multi" >

В вашем Mbean вы можете получить доступ к выбранным строкам из переменной mBean.selection:

public class Mbean {

         //List to be displayed to the rich:extendedDataTable 
           private List<Customer> custList ;


         //Variable to hold the selected row
           private SimpleSelection selection;

         /*
           Getter and setter of the custList  and selection
         */

         public void someMethod(){

           //Code snippets to access the selected rows
           Iterator<Object> iterator = this.selection.getKeys();
           while (iterator.hasNext()){
             Integer key = (Integer) iterator.next();
             Customer cust = (Customer) this.custList.get(key);
             System.out.println(cust.toString());
           }


         }


}
...