RowselectionListener

#jsf-2 #primefaces

#jsf-2 #primefaces

Вопрос:

У меня есть запрос о PrimeFaces. Возможно ли реализовать компонент RowSelectionListener, аналогичный

<h:commandLink value ="selection"
action="#{usuariosGruposBean.selectionOfGroupObject}">
<f:setPropertyActionListener target="#{usuariosGruposBean.grps}"
value="#{groups}"/> </h:commandLink>

внутри таблицы данных?

Ответ №1:

Вы имеете в виду для datatable права?

если да, то это возможно, вам просто нужно создать такой метод

 public void onEditRow(RowEditEvent event) {
enter code here
}
  

и зарегистрируйте его в JSF, используя что-то вроде этого внутри тега DataTable

 <p:ajax event="rowEdit" update="@this" listener="#{userController.onEditRow}" /> 
  

здесь он обновит всю таблицу данных из-за @this, если вы хотите обновить только несколько столбцов, вы можете изменить это на имя этих столбцов, разделенных пробелом

который будет выглядеть примерно так

  <p:dataTable var="user" value="#{userController.allUsers}" id="userTable">                                
  <p:ajax event="rowEdit" update="@this" listener="#{userController.onEditRow}" /> 

   things inside the table

</p:datatable>
  

Комментарии:

1. Рад, что смог помочь … также сделайте то, что сказал @flash, и взгляните на демонстрацию primefaces, она великолепна и содержит много примеров кода. но этого нет, потому что он связан с Primefaces 3, а витрина предназначена для 2, витрина для 3 все еще выполняется.

2. @cfontes показ, на который я ссылался, предназначен для primefaces 3 и всегда представляет последнюю магистраль. Я думаю, что он развертывается каждую ночь или что-то в этом роде.

3. О, извините, я не говорил, что ваша ссылка была неправильной, извините. Просто указываю, что в официальном демонстрационном примере нет этого решения в качестве примера.

Ответ №2:

Я не знаю точно, что вы пытаетесь сделать, но вы уже посмотрели на демонстрацию primefaces? У них есть много примеров, как создать прослушиватель выбора строк.