排序primefaces 4.0没有工作

时间:2013-11-28 07:50:11

标签: java primefaces

我想在primefaces 4.0中对数据表进行排序,但它没有工作。这是我的数据表

<p:dataTable value="#{transactionReportBacking.transaction}"
                             var="trx"
                             lazy="true"
                             rows="20"
                             paginator="true"
                             paginatorAlwaysVisible="false"
                             styleClass="table table-hover table-striped"
                             id="tableTransaction">
                    <p:columnGroup type="header">
                        <p:row>
                            <p:column headerText="Customer ID" sortBy="customerId"/>
                            <p:column headerText="Nama Customer"/>
                            <!--<p:column headerText="Area" />-->
                            <p:column headerText="Jumlah Dibayar"/>                   
                            <p:column headerText="Nama Collector" />
                            <p:column headerText="Waktu Transaksi"/>
                            <p:column headerText="Tanggal Janji Bayar"/>
                        </p:row>
                    </p:columnGroup>
                    <p:column >
                        <h:outputText value="#{trx.customerId}" styleClass="numeric-value"/>
                    </p:column>
                    <p:column sortBy="customerName">
                        <h:outputText value="#{trx.customerName}" />
                    </p:column><p:column style="text-align: right" sortBy="amount">
                        <h:outputText value="#{trx.amount}" style="display: inline-block; text-align: right">Rp. 
                            <f:convertNumber pattern="#,###.##" />
                        </h:outputText>
                    </p:column> 
                    <p:column sortBy="collector.name">
                        <h:outputText value="#{trx.collector.name}" />
                    </p:column>

                    <p:column sortBy="transactionTimestamp">                                
                        <h:outputText value="#{trx.transactionTimestamp}" styleClass="numeric-value">
                            <f:convertDateTime pattern="dd-MM-yyyy HH:mm:ss" timeZone="GMT+7"/>
                        </h:outputText>
                    </p:column>
                    <p:column sortBy="promisedDate">
                        <h:outputText value="#{trx.promisedDate}" styleClass="numeric-value">
                            <f:convertDateTime pattern="dd-MM-yyyy" timeZone="GMT+7"/>
                        </h:outputText>
                    </p:column>
                </p:dataTable>

您将看到<p:column headerText="Customer ID" sortBy="customerId"/>我可以点击“客户ID”列,但没有任何变化。任何回复都是不合理的,对不起我的英语不好。哦,我正在使用lazydatamodel和分页

1 个答案:

答案 0 :(得分:0)

为什么不用headerText一次创建列而不是为标题创建columngroup?

您应该可以使用以下内容对列进行排序:

<p:column headerText="Customer ID" sortBy="customerId">
    <h:outputText value="#{trx.customerId}" styleClass="numeric-value"/>
</p:column>