0

我在 GWT 中有一个 celltable 并希望在其上实现排序功能,来自数据库(标准),我只想知道如何获取已单击进行排序的列的值

这是我的代码

            ctJobs.addColumnSortHandler(new ColumnSortEvent.Handler() {
            public void onColumnSort(ColumnSortEvent event) { 
            event.getColumn();
            event.getColumn().getValue("what do we need to write here ???");

从 event.getColumn() ,我得到对象形式的列

com.google.gwt.cell.client.ClickableTextCell@188a12e

我想知道我正在尝试的列的名称/值 event.getcolumn().getvalue("??"); 但是该参数是什么,或者是否有任何其他方法可以获取已单击的列名称。

谢谢

4

2 回答 2

4

您在使用 aListDataProvider或 anAsyncDataProvider作为单元格表吗?

如果AsyncDataProvider必须在服务器端进行排序,则无需添加ColumnSortHandler.

请参阅GWT 文档

要获得单击以进行排序的列的名称,请参阅此问题

于 2011-10-26T15:57:58.300 回答
1

创建表列时,设置列的dataStoreName。

column.setDataStoreName("columnX");

接下来,在 AsyncDataProvider 中获取单击标题的排序历史记录,如下所示

final AsyncDataProvider<SQLRow> dataProvider = new AsyncDataProvider<SQLRow>(){
    @Override
    protected void onRangeChanged(HasData<SQLRow> display) {
        for (int i=0;i<sortList.size();i++) {
            sortList.get(i).getColumn().getDataStoreName();
        }
    }
}
于 2013-05-31T09:55:30.410 回答