Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GWT如何使用ListHandler和ListDataProvider对CellTable进行排序_Gwt - Fatal编程技术网

GWT如何使用ListHandler和ListDataProvider对CellTable进行排序

GWT如何使用ListHandler和ListDataProvider对CellTable进行排序,gwt,Gwt,我有以下代码 taskDataProvider=newlistdataprovider(); taskDataProvider.addDataDisplay(taskTable); ListHandler columnSortHandler=新ListHandler( taskDataProvider.getList()); taskTable.addColumnSortHandler(columnSortHandler); //修改taskDataProvider中列表的其他一些代码 当

我有以下代码


taskDataProvider=newlistdataprovider();
taskDataProvider.addDataDisplay(taskTable);
ListHandler columnSortHandler=新ListHandler(
taskDataProvider.getList());
taskTable.addColumnSortHandler(columnSortHandler);
//修改taskDataProvider中列表的其他一些代码

当我点击列标题时,ColumnSortEvent被触发,但经过检查,我可以看到columnSortHandler中的列表是空的。对taskDataProvider列表所做的任何修改都没有反映在columnSortHandler中。我遗漏了什么吗?

这个例子似乎正是你想要的。 从您显示的代码来看,我认为您缺少了比较器

columnSortHandler.setComparator(yourColumn,
        new Comparator<TaskHeader>() {
          public int compare(TaskHeader t1, TaskHeader t2) {
            return o1.field1.compareTo(o2.field1);
          }
        });
做:

columnSortHandler.setComparator(yourColumn,
        new Comparator<TaskHeader>() {
          public int compare(TaskHeader t1, TaskHeader t2) {
            return o1.field1.compareTo(o2.field1);
          }
        });
taskDataProvider.setList(newList);
taskDataProvider.getList().add(newItem);