我有一个按照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; }-*/;
}
排序不起作用。我错过了什么吗?
答案 0 :(得分:0)
您正在使用与示例代码中setComparator
附加的排序处理程序不同的排序处理程序调用{{1}}。
其他一切对我来说似乎还可以。当你说排序不起作用时你是什么意思?什么都没发生?有JavaScript错误吗?将鼠标光标悬停在列标题上时,鼠标光标是否会发生变化?
答案 1 :(得分:0)
它与JavaScriptObject无关,实际上我在DataProvider中设置任何数据之前进行了排序。