我有这个代码.它应该在用户选择一行并关闭对话框后触发rowSelect事件.它在我更新到primfaces 3.3之前工作得很好(我有ver3.2).我在控制台中没有任何异常,当我调试时,我看到方法没有调用.我不知道从哪里开始解决这个问题.有人可以帮我吗?
<p:dialog id="dlg" closable="true" header="New reciever" widgetVar="receiverListDlg" visible="false" modal="true">
<p:dataTable var="reciever" value="#{transactionController.recieverList}">
<p:ajax event="rowSelect" listener="#{transactionController.onRowSelect}" update=":form" onsuccess="receiverListDlg.hide()" />
<f:facet name="header">
Previouse recievers for #{customer.firstName}
</f:facet>
<p:column selectionMode="single" />
<p:column headerText="#{msg.havale_customer_firstname}">
<h:outputText value="#{reciever.firstName}" />
</p:column>
<p:column headerText="#{msg.havale_customer_lastName}">
<h:outputText value="#{reciever.lastName}" />
</p:column>
<p:column headerText="#{msg.havale_customer_phoneNr}">
<h:outputText value="#{reciever.phoneNr}" />
</p:column>
</p:dataTable>
</p:dialog>
Run Code Online (Sandbox Code Playgroud)
小智 7
现在Primefaces提供了一些新的ajax事件:
因此rowSelect,rowUnselect在您的情况下不会被解雇.
dataTable 应该被 包围<h:form>。另外,您应该将以下属性添加到 p:dataTable (我不知道是否所有这些属性都是必需的,但我拥有它们并且工作正常)。
- selectionMode="single"
- rowKey="#{receiver.id}" (将 'id' 替换为 Receiver 的实际 ID 属性)
-selection="#{transactionController.selectedReceiver"
| 归档时间: |
|
| 查看次数: |
8154 次 |
| 最近记录: |