GWT中的可编程单元格表排序不工作
我使用ListDataProvider示例作为指导。根据提供的比较器,列的排序与预期的一样好。我试图通过编程应用示例中这一行中提到的排序:GWT中的可编程单元格表排序不工作,gwt,sorting,celltable,Gwt,Sorting,Celltable,我使用ListDataProvider示例作为指导。根据提供的比较器,列的排序与预期的一样好。我试图通过编程应用示例中这一行中提到的排序: // We know that the data is sorted alphabetically by default. table.getColumnSortList().push(nameColumn); 这样做的目的是使单元格列显示为使用胡萝卜排序指示符进行排序。但是,底层数据没有排序。是否有一种方法可以让表实际应用排序程序。我想我可以将它与通过C
// We know that the data is sorted alphabetically by default.
table.getColumnSortList().push(nameColumn);
这样做的目的是使单元格列显示为使用胡萝卜排序指示符进行排序。但是,底层数据没有排序。是否有一种方法可以让表实际应用排序程序。我想我可以将它与通过Collections.sort()对数据进行实际排序结合使用,但我希望避免这种情况,而是在一个地方进行排序。您必须再次在网格上调用setData…..您可以通过编程对列应用排序,只需很少的exta代码。以下代码段执行以下操作- 当您将数据设置到cellTable时,必须初始化ListHandler,如下代码所示-
cellTable.addColumnSortHandler( createColumnSortHandler() );
private ListHandler<T> createColumnSortHandler()
{
final ListHandler<T> listHandler = new ListHandler<T>(listDataProvider.getList());
listHandler.setComparator( sortColumn, comparator );
return listHandler;
}
这不起作用,我也没想到它会起作用。我从来没有对基础列表进行排序,只是将列推到排序列表上。排序是隐式设置的。更容易调用:ColumnSortEvent.fire(cellTable,cellTable.getColumnSortList());我缺少的配料是通风孔。火()。成功了。
ColumnSortInfo columnSortInfo = new ColumnSortInfo( sortColumn, sortDirection );
cellTable.getColumnSortList().push( columnSortInfo );
ColumnSortEvent.fire( cellTable, cellTable.getColumnSortList());