2016-04-14 56 views
0

我在我的视图中有此代码,但在选择任何行时我无法调用侦听器方法。每个事件都指向一种只在控制台中打印文本的方法,所以我确保它可以正常工作,但不会。我想知道我是否错过了一些东西?p:dataTable p:ajax rowSelect rowUnselect listeners not invoked

<p:panelGrid columns="2"> 
    <p:column> 
     <h:form id="formSelectEmployee"> 
      <p:dataTable 
       id="employeeDataTable" 
       var="employee" 
       value="#{employeeController.employeeList}" 
       selectionMode="single" 
       selection="#{employeeController.selectedEmployee}" 
       rowKey="#{employee.id}"> 

       <p:ajax event="rowSelect" listener="#{employeeController.selectEmployee}" update=":tabs" /> 
       <p:ajax event="rowUnselect" listener="#{employeeController.unSelectEmployee}" update=":tabs" /> 

       <p:column> 
        <h:outputText value="#{employee.fullName}" /> 
       </p:column> 

      </p:dataTable> 
     </h:form> 
    </p:column> 
</p:panelGrid> 
+0

我包括它的问题,因为这是我如何得到它。无论如何,无论它在/在panelgrid之外,该项目没有被选中,我也没有收到错误信息。 – Alejandro

回答

0

添加

<p:commandLink action="#{employeeController.selectEmployee(employee)}"> 
    <h:outputText value="#{employee.fullName}" /> 
</p:commandLink> 

也做了同样的rowSelect事件=)