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

GWT列排序处理程序,如何获取列';s已选择的值,gwt,celltable,Gwt,Celltable,我在GWT中有一个celltable,并希望从数据库(Criteria)在其上实现排序功能 为此,我只想知道如何获取已单击进行排序的列的值 这是我的密码 ctJobs.addColumnSortHandler(new ColumnSortEvent.Handler() { public void onColumnSort(ColumnSortEvent event) { event.getColumn();

我在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(“??”); 但是这个参数是什么,或者是否有其他方法可以获取已单击的列的名称


谢谢

您的单元格表是使用
列表数据提供程序
还是
异步数据提供程序

如果是
AsyncDataProvider
,排序必须在服务器端完成,因此无需添加
ColumnSortHandler

请看地图


要获取单击进行排序的列的名称,请参见此。

您是使用
ListDataProvider
还是使用
AsyncDataProvider
作为单元格表

如果是
AsyncDataProvider
,排序必须在服务器端完成,因此无需添加
ColumnSortHandler

请看地图


要获取单击排序的列的名称,请参见此。

创建表列时,请设置列的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();
        }
    }
}
final AsyncDataProvider dataProvider=new AsyncDataProvider(){
@凌驾
受保护的无效onRangeChanged(HasData显示){

对于(int i=0;i在创建表列时,设置列的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();
        }
    }
}
final AsyncDataProvider dataProvider=new AsyncDataProvider(){
@凌驾
受保护的无效onRangeChanged(HasData显示){

对于(inti=0;ithanks,在这个场景中,您提到了使用comparator,但我想从SQL端对它进行排序,如下所示(sortDirection.equals(“asc”){crit.addOrder(Order.asc(sortField));}我只想在用户单击某个列时传递此字符串sortField,是否可以获取已选择的列名?不客气。我添加了一个指向答案的链接,该链接解释了如何获取排序列的名称。谢谢,在这个场景中,您提到了使用comparator,但我想从SQ对其进行排序L端,如下所示,if(sortDirection.equals(“asc”){crit.addOrder(Order.asc(sortField));}我只想在用户单击某个列时传递此字符串sortField,是否可以获取已选择的列名?不客气。我添加了一个指向答案的链接,该链接解释了如何获取排序列的名称。