Ste*_*bbi 5 sorting gwt celltable
我在这里使用ListDataProvider示例作为指南.根据提供的比较器,列按预期排序.我试图以编程的方式应用这个例子中提到的排序:
// We know that the data is sorted alphabetically by default.
table.getColumnSortList().push(nameColumn);
Run Code Online (Sandbox Code Playgroud)
这样做,是否使细胞列看起来与胡萝卜排序指标一起排序.但是,基础数据未排序.有没有办法让表格实际应用排序.我想我可以将它与通过Collections.sort()实际排序数据结合使用,但我想避免这种情况并在一个地方进行.
小智 10
您可以使用很少的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;
}
Run Code Online (Sandbox Code Playgroud)
当你想要解雇SortEvent时,执行以下代码片段 -
ColumnSortInfo columnSortInfo = new ColumnSortInfo( sortColumn, sortDirection );
cellTable.getColumnSortList().push( columnSortInfo );
ColumnSortEvent.fire( cellTable, cellTable.getColumnSortList());
Run Code Online (Sandbox Code Playgroud)