0

私はプライムフェイスのデータテーブルを使用していますが、ソートが機能していません。誰か助けてください!! #{v.elementID} を sortBy に追加しようとしましたが、まだ機能しません

<p:dataTable value="#{dashboardBean.topTenMenuItem}"
                                        var="v" paginator="true"
                                        rows="#{msg['dashboard.product.mapping.datatable.rows']}">
                                        <p:column sortBy="#{v.elementId}" headerText="ID">
                                            <h:outputText value="#{v.elementId}" />
                                        </p:column>
                                        <p:column sortBy="#{v.name}" headerText="Name">
                                            <h:link value="#{v.name}" />
                                        </p:column>

                                        <p:column sortBy="#{v.updateBy}" headerText="Update By">
                                        <h:outputText value="#{v.updateBy}" />
                                        </p:column>
                                        <p:column sortBy="#{v.statusName}" headerText="Status">
                                            <h:outputText value="#{v.statusName}" />
                                        </p:column>
                                        <p:column sortBy="#{v.updateDate}" headerText="Updated On">
                                            <h:outputText value="#{v.updateDate}" />
                                        </p:column>
                                    </p:dataTable>

そしてビーンは

public List<RecentItemDashDTO> getTopTenMenuItem() {
    Map<String, Object> sessMap = CommonUtil.getSessionMap();
    SessionDTO sessionDTO = (SessionDTO) sessMap.get(WebConstants.SESSION_DTO);
    countryCode = sessionDTO.getLoggedinCountryCode();
    String languageCode = sessionDTO.getDefaultLanguageCode();
    topTenMenuItem = dashboardService.getTopTenRecentMenuDashData(countryCode,languageCode);
    return topTenMenuItem;
}

public void setTopTenMenuItem(List<RecentItemDashDTO> topTenMenuItem) {
    this.topTenMenuItem = topTenMenuItem;
} 
4

2 に答える 2

0

私自身の経験によると、この機能を使用するListには、Getter と Setter を備えた BackingBean にオブジェクトが必要です。参考にはなりません。任意の init メソッドでそれを試して、うまくいったかどうかお知らせください。

public class DashboardBean {

private List<RecentItemDashDTO> myList;

public List<RecentItemDashDTO> getMyList()
{
    return myList;
}

public void setMyList(List<RecentItemDashDTO> myList)
{
    this.myList = myList;
}

public List<RecentItemDashDTO> getTopTenMenuItem()
{
    Map<String, Object> sessMap = CommonUtil.getSessionMap();
    SessionDTO sessionDTO = (SessionDTO)sessMap.get(WebConstants.SESSION_DTO);
    countryCode = sessionDTO.getLoggedinCountryCode();
    String languageCode = sessionDTO.getDefaultLanguageCode();
    topTenMenuItem = dashboardService.getTopTenRecentMenuDashData(countryCode, languageCode);
    return topTenMenuItem;
}

@PostConstruct
public void init()
{
    myList = getTopTenMenuItem();
}

}

XHTML:

<p:dataTable value="#{dashboardBean.myList}" ... >
于 2013-11-08T12:50:17.027 に答える