簡體   English   中英

Richfaces 3數據表排序不起作用

[英]Richfaces 3 datatable sorting not working

我已經使用Google搜索了2天,並嘗試了各種嘗試,這些嘗試已經在網上發布,但似乎沒有任何效果。

我正在嘗試獲取richfaces 3數據表以對列進行排序,當我單擊列標題時,實際上沒有任何排序。

有人知道我想念什么嗎? 我是否需要在我的支持bean上實現一個屬性?

<rich:extendedDataTable id="resultsTable" value="#{tableBacking.results}" var="results" rowKeyVar="row">
        <rich:column>
            <f:facet name="header">
                <h:outputText value="Row Number" />
            </f:facet>                  
        </rich:column>

        <rich:columns value="#{tableBacking.columns == null ? '' : tableBacking.columns}" 
            var="columns" index="ind" id="column#{ind}" 
            sortBy="#{results[ind].data}" rendered="#{tableBacking.columns != null}">
            <f:facet name="header">
                <h:outputText value="#{columns.columnDescription}" />
            </f:facet>

            <h:outputText value="#{results[ind].data}" />

        </rich:columns>
    </rich:extendedDataTable>

TableLookupBacking bean

public class TableLookupBacking{
    private List<List<TableData>> results = null;
    private List<TableData> columns = new ArrayList<TableData>();

    public void search() {
        getData("");
    }

    private void getData(String whereClause) {

        try {
            DataDao dd = new DataDao();
            results = dd.getData(WebDataViewerConstants.SCHEMA_NAME, selectedTable, whereClause);
        } catch (Exception e) {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Unable to retrieve data with selected search criteria in getData."));
        }
    }
// columns get set in another method that is triggered off something else the user does    

// Getters and Setters

}

我終於弄明白了。 我需要做的就是將sortOrder="#{tableBacking.sortOrder[columns]}"到我的rich:columns標記中,然后在我的支持者中添加以下內容:

private Map<String, Object> sortOrder = new HashMap<String, Object>();

// setter and getter

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM