p:dataTable p:ajax rowSelect rowUnselect 侦听器未被调用
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>
添加
<p:commandLink action="#{employeeController.selectEmployee(employee)}">
<h:outputText value="#{employee.fullName}" />
</p:commandLink>
与 rowSelect
事件相同 =)
我的视图中有这段代码,但我无法在选择任何行时调用侦听器方法。每个事件都指向一个只在控制台中打印文本的方法,所以我确保它有效,但它没有。我想知道我是否遗漏了什么?
<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>
添加
<p:commandLink action="#{employeeController.selectEmployee(employee)}">
<h:outputText value="#{employee.fullName}" />
</p:commandLink>
与 rowSelect
事件相同 =)