выборочный набор данных и значение свойства primefaces3.0 - PullRequest
0 голосов
/ 11 января 2012

Я обновил свой проект с Primefaces 2.2 до 3.0
Я сталкиваюсь с проблемами в Datatable. У меня есть Datatable, значения которого я заполняю через список, а выбранные строки хранятся в массиве

    <p:dataTable id="datavalues" value="#{bean.list}" 
                        var="o" paginator="true" rows="10" 
                        selection="#{bean.selected1}"           
                           rowKey="#{o.property1}"  > 

теперь я хочу, чтобы выбранные строки использовались в другом Datatable, и в этом Datatable я использовал значения как "# {bean.selected1}" и выделение как # {bean.selected2}, поскольку мне также нужны выбранные значения из этого Таблица.

<p:dataTable id="table4" var="o" value="#{bean.selected1}"
                rows="10"           
                selection="#{bean.selected2}"           
                     rowKey="#{o.property2}"        
                > 

Исключение, которое я получил:

[Lcom.packagedirectory.beans.beanHelper; cannot be cast to java.util.Collection

list, selected1, selected2 - все свойства класса beanHelper. Этот код прекрасно работал на 2.2. Имеет ли это отношение к тому, что значение также является массивом, а выделение также является массивом.

Ответы [ 2 ]

0 голосов
/ 12 января 2012

Я думаю, вы должны попытаться добавить selectionMode="multiple" в свой 1-й <p:dataTable> и selectionMode="single" в свой 2-й <p:dataTable>.

0 голосов
/ 11 января 2012

В Primefaces 2.2 выборка обновляла бы значение своего bean-компонента автоматически, однако это, вероятно, было нежелательно для каждой ситуации, поэтому в 3.0 они изменили его так, чтобы для возникновения обратной передачи ajax вам нужно было поместить тег <p:ajax> сrowSelect событие в dataTable.

<p:dataTable id="table1" ... >
  <p:ajax event="rowSelect" update="formid:table1 formid:table2" oncomplete="dlg.show()" />
  ...
</p:dataTable>

<p:dataTable id="table2" ... >
  ...
</p:dataTable>

Выбор первого dataTable должен инициировать обратную передачу сервера и частичное обновление страницы вашего второго dataTable.

...