使用GWT在DataGrid中对JavaScriptObject进行排序

时间:2012-08-26 19:37:12

标签: json gwt

我有一个按照here

描述的JSON字符串检索的对象列表

在DataGrid中,我像这样进行排序(为了简单起见,我说明了一个colomn)

nameColomn.setSortable(true);
    final ListHandler<SomeObject> nameColomnSortHandler = new ListHandler<SomeObject>(dataProvider.getList());
    nameColomnSortHandler.setComparator(nameColomn, new Comparator<SomeObject>() {
        @Override
        public int compare(SomeObject o1, SomeObject o2) {
            return o1.getName().compareTo(o2.getName());
        }
    });
    dataGrid.addColumnSortHandler(nameColomnSortHandler);

这是我的对象

public class SomeObject extends JavaScriptObject {

           //Other methods
           public final native String getName() /*-{ return this.n; }-*/;
    }

排序不起作用。我错过了什么吗?

2 个答案:

答案 0 :(得分:0)

您正在使用与示例代码中setComparator附加的排序处理程序不同的排序处理程序调用{​​{1}}。

其他一切对我来说似乎还可以。当你说排序不起作用时你是什么意思?什么都没发生?有JavaScript错误吗?将鼠标光标悬停在列标题上时,鼠标光标是否会发生变化?

答案 1 :(得分:0)

它与JavaScriptObject无关,实际上我在DataProvider中设置任何数据之前进行了排序。