java - Richfaces 3 数据表排序不起作用

标签 java jsf richfaces jsf-1.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

关于java - Richfaces 3 数据表排序不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14145635/

相关文章:

java - 这个格式字符串有什么问题?

jsf - 将 OutputStream 发送到浏览器并让浏览器保存它

java - 最小重量的背包

java - 如何将大型文本文件的数据排序为多维数组?

java - 如何检索已存储在 firebase 数据库中并在回收器 View 中显示的图像?

java - h :commandButton not working within PrimeFaces p:dataTable

jsf - 如何在其他定义内设置定义

带有 Primefaces 和 dataTable 的 javax.el.PropertyNotFoundException

javascript - 调用另一个a4j :jsFunction in an a4j:jsFunction oncomplete event

java - a4j :commandButton doesn't work