GWT列排序处理程序,如何获取已选择的列的值

时间:2011-10-26 13:39:35

标签: gwt celltable

我在GWT中有一个celltable,想要从数据库(Criteria)上实现排序功能 为此我只想知道如何获得已被点击进行排序的列的值

这是我的代码

            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(“??”); 但是这个参数是什么,或者是否有任何其他方法可以获得已被点击的列名。

由于

2 个答案:

答案 0 :(得分:4)

您的单元格表使用的是ListDataProvider还是AsyncDataProvider

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

请参阅GWT docs

要获取点击列的名称以进行排序,请参阅此question

答案 1 :(得分: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();
        }
    }
}