Primefaces rowselect事件在版本3.3中不起作用

met*_*tok 6 primefaces

我有这个代码.它应该在用户选择一行并关闭对话框后触发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事件:

  • onSelectCheckBox
  • onUnselectCheckbox
  • onSelectRadio

因此rowSelect,rowUnselect在您的情况下不会被解雇.

  • 这些事件称为rowSelectCheckbox,rowUnselectCheckbox和rowSelectRadio. (4认同)

dam*_*ian 2

dataTable 应该被 包围<h:form>。另外,您应该将以下属性添加到 p:dataTable (我不知道是否所有这些属性都是必需的,但我拥有它们并且工作正常)。
- selectionMode="single"
- rowKey="#{receiver.id}" (将 'id' 替换为 Receiver 的实际 ID 属性)
-selection="#{transactionController.selectedReceiver"