2

「名前」と呼ばれる1つの列と「説明」を持つ行拡張を持つPrimeFaces DataTableがあります。

これらの行をクリックして選択可能にすることは可能ですが、展開時に選択イベントを発生させることはできませんか?

編集

<h:form id="customerCategoryListForm">
    <p:dataTable var="customerCategory" value="#{admin.customerCategories}" id="customerCategoryList" 
        paginator="true" rows="10" 
        rowKey="#{customerCategory.id}" selectionMode="single" selection="#{admin.selectedCustomerCategory}"
        paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
        rowsPerPageTemplate="10,25,50"
        emptyMessage="Nincs adat!">
        <p:ajax event="rowSelect" update=":customerCategoryDialogForm:customerCategoryDisplay" oncomplete="customerCategoryDialog.show()" />  

        <f:facet name="header">  
            Categories
        </f:facet>

        <p:column width="10">
            <p:rowToggler />
        </p:column>

        <p:column headerText="Category name" sortBy="#{customerCategory.name}" width="740">
            <h:outputText value="#{customerCategory.name}" />
        </p:column>

        <p:rowExpansion>
            <h:outputText value="#{customerCategory.description}" />
        </p:rowExpansion>

        <f:facet name="footer">
            <p:commandButton value="Új hozzáadása" />
        </f:facet>

    </p:dataTable> 
</h:form>
4

1 に答える 1

0

列全体でダイアログを開く代わりに、outputText列内のを に更新できますcommandLink。これは、引き続き AJAX を使用してバッキング Bean を呼び出します。

<p:commandLink value="#{customerCategory.description}" actionListener="#{customerCategory.fooMethod(customerCategory)}" update=":customerCategoryDialogForm" oncomplete="PF('customerCategoryDialog').show();"/>

于 2014-08-27T16:04:20.330 に答える