如何在Primefaces p:dataTable组件中简化排序。建立了意外的排序图标

时间:2014-10-16 16:23:14

标签: primefaces

我想在Primefaces中将简单排序合并到数据表中。

我的代码是:

<p:dataTable id="tbl" var="data" value="#{dataView.avaliableData}"
             paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}"
             paginator="true" rows="10" sortMode="simple" paginatorPosition="bottom"> 
    <p:column headerText="#{msg.id}"  sortBy="#{data.id}">
        <h:outputText value="#{data.id}" />
    </p:column>
    <p:column headerText="#{msg.name}"  sortBy="#{data.name}">
        <h:outputText value="#{data.name}" />
    </p:column>
    <p:column headerText="#{msg.entity}" sortBy="#{data.entity}">
        <h:outputText value="#{data.entity}" />
    </p:column>              
    <p:column headerText="#{msg.date}" sortBy="#{data.date}">
        <h:outputText value="#{data.date}" />
    </p:column>
</p:dataTable>

但结果令人困惑。这张照片说明了这一点(我没有足够的声誉直接在这里发布)。

Click here for viewing the datatable anomaly example

为什么我会看到几个排序项目?我只想看到一个按升序或降序排序的图标。

2 个答案:

答案 0 :(得分:0)

您只需删除sortMode = "simple",您只会看到一种icon并显示paginator,但只有超过使用此行的行数。

paginatorAlwaysVisible="false" 
{p}在dataTable代码中。

答案 1 :(得分:0)

显然,这是因为误用了包含背景图标的样式表。

我认为这是由于Primefaces的版本。我已经覆盖了

  

.ui.datatable .ui-sortable-column-icon

我的样式表中的条目和奇怪的图标已经消失。