6

私はこのコードを持っています。ユーザーが行を選択してダイアログ ボックスを閉じた後、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> 
4

4 に答える 4

7

現在、Primefaces はいくつかの新しい ajax イベントを提供しています。

  • onSelectCheckBox
  • onUnselectCheckbox
  • onSelectRadio

したがってrowSelectrowUnselectあなたの場合は解雇されません。

于 2012-07-26T01:00:05.220 に答える
3

「rowSelectRadio」ajaxイベントを使用する必要があると思います。

于 2012-06-17T00:48:22.047 に答える
2

dataTable は で囲む必要があります<h:form>。また、次の属性を p:dataTable に追加する必要があります (すべてが必要かどうかはわかりませんが、すべてがあり、正常に動作します)。
- selectionMode="single"
- rowKey="#{receiver.id}" ('id' を Receiver の実際の ID 属性に置き換えます)
-selection="#{transactionController.selectedReceiver"

于 2012-06-07T11:52:42.290 に答える
0

私はユーザーとしてstackoverflowを初めて使用しますが、Primeで何かが起こっているのを見たので、頻繁に使用しています! ;-)
さて、私は現在、RichFaces 3.3.3 JSF 1.2 プロジェクトを Mojarra 2.1.7 (SNAPSHOT 20120206) および PrimeFaces 3.3 に移行しています。これは、JSF への私見の啓示です。
簡単に言えば、トピックで言及されているこのエラーを半週間探していたので、PF 3.2 と tataaaa rowSelect に戻ってみましたが、他のすべての実装は現在動作しています。
datatable と selectionMode="multiple" と ajax イベントを含む単純なフォームがあります。

        <h:form>
        <p:dataTable id="massnahmenAuswahl"
            value="#{massnahmenController.massnahmen}"
            var="eineMassnahme"
            selection="#{massnahmenController.massnahmenSelected}"
            rowKey="#{eineMassnahme.massnahme}">
            <p:ajax event="rowSelect"
                listener="#{massnahmenController.rowSelected}" process="@this"
                update="@this" />
            <p:ajax event="rowUnselect"
                listener="#{massnahmenController.rowUnselected}" process="@this"
                update="@this" />
            <p:ajax event="toggleSelect"
                listener="#{massnahmenController.rowToggleSelected}" process="@this"
                update="@this" />
            <p:column selectionMode="multiple" style="width:18px"
                disabledSelection="#{!login.editable}" styleClass="checkbox" />
            <p:column>
                <h:outputText escape="false" value="#{eineMassnahme.zeile}" />
            </p:column>
            <p:column>
                <h:outputText escape="false" value="#{eineMassnahme.bezeichnung}" />
            </p:column>
            <p:column>
                <fiona:labelImgGA for="#{eineMassnahme.massnahme}" />
            </p:column>
            <p:column>
                <p:selectBooleanCheckbox value="#{eineMassnahme.vorjahr}"
                    disabled="true" />
            </p:column>
            <f:facet name="footer">
                <p:commandButton value="Speichern"
                    action="#{massnahmenController.speichern}"
                    disabled="#{!login.editable}" process="@this" update="@form" />
                <p:spacer/>
                <p:commandButton value="Weiter"
                    action="#{massnahmenController.saveAndNext}"
                    disabled="#{!login.editable}" process="@this" update="@form" />
            </f:facet>
        </p:dataTable>
    </h:form>

これは近い将来修正されますか?今までは本当にPFで行きました!私を失望させないでください!;-)

更新:
解決策は、PF 3.3 以降、lazy=true を使用することです。PrimeFaces issue trackerの issue 2993で見ました!

于 2012-06-15T15:06:41.970 に答える