从gwt rpc填充的单元格表列的排序不起作用

时间:2016-05-13 17:59:56

标签: java gwt

尝试使用RPC从数据库表中填充特定列时遇到问题。基本上我试图按字母顺序对姓氏列进行排序,但它只是不起作用。表格已完全填充,但排序不起作用。

任何想法为什么?

提前致谢

{{1}}

2 个答案:

答案 0 :(得分:0)

将onSuccess方法中的大部分代码移出那里 - 每次加载数据时都没有理由调用它。例如,您可以/应该只设置一次Comparator等等。

告诉您的表用于排序的列:

table.getColumnSortList().push(familyNameColumn);

加载完新数据后,请告诉您的表格对其进行排序:

ColumnSortEvent.fire(table, table.getColumnSortList());

答案 1 :(得分:0)

您正在制作两份数据副本:resultlistlistdataProvider

相关联
List<ContactInfo> list = dataProvider.getList();

listListenerresult

相关联
ListHandler<ContactInfo> listHandler = new ListHandler<ContactInfo>(result);

所以您要显示list,但要对result进行排序。

只需替换

new ListHandler<ContactInfo>(result);

new ListHandler<ContactInfo>(list);

它有效。

修改

您可以更轻松地将result传递给ListDataProvider构造函数:

new ListDataProvider<ContactInfo>(result);

然后,您不需要将值复制到list,只需执行

new ListHandler<ContactInfo>(dataProvider.getList());