Java GWT:如何为client.visualizations表添加特定于列的排序策略

Java GWT:如何为client.visualizations表添加特定于列的排序策略,java,ajax,gwt,Java,Ajax,Gwt,我知道在处理程序的强制onSort(SortEvent)方法中,您可以通过单击列标签检索已排序的列的索引。如何使用它来处理和排序该列中的数据 现在,我有一个列,其中每个单元格都包含一个字符串,表示一天中的时间,格式为hh:mm a格式。按字母顺序显示(上午10:00、下午10:00、上午11:00等) 我没能走得更远。用安迪·金的方法,想出了这个。dataTable最初是按照第一列的条目顺序填充的 public final Table getTable() { final Table t

我知道在处理程序的强制
onSort(SortEvent)
方法中,您可以通过单击列标签检索已排序的列的索引。如何使用它来处理和排序该列中的数据

现在,我有一个列,其中每个单元格都包含一个字符串,表示一天中的时间,格式为
hh:mm a
格式。按字母顺序显示(上午10:00、下午10:00、上午11:00等)


我没能走得更远。

用安迪·金的方法,想出了这个。dataTable最初是按照第一列的条目顺序填充的

public final Table getTable() {
    final Table table = new Table(dataTableObject,
            TableView.createTableOptions(dataTableObject));
    SortHandler sortHandler = new SortHandler() {

        @Override
        public void onSort(SortEvent event) {
            if (event.getColumn() == 0) {
                if (dataTableObject.getColumnLabel(event.getColumn()).contains("Time")
                        || dataTableObject.getColumnLabel(event.getColumn()).contains(
                                "Frequency")) {
                    reverseRowOrder(); //reverses the order of the rows in dataTableObject
                    table.draw(dataTableObject, TableView.createTableOptions(dataTableObject));
                }
            }
        }
    };
    table.addSortHandler(sortHandler);
    return table;
}

这是基地GWT吗?如果是这样的话,你可以在这里查一下:不,我想不是。与单元格表不同,client.visualizations表的实例化方式非常不同。据我所知,您不使用dataProvider,因为该表不能设置为dataDisplay。这就是我正在处理的对象。您如何用数据填充表?从这个示例中,我觉得您可以对数据进行排序并重新填充表。但是我还没有看过
visualizations
API,所以很抱歉我帮不了什么忙@安迪·金:你说得对,安迪,这似乎是唯一真正的方法。谢谢你的帮助
public final Table getTable() {
    final Table table = new Table(dataTableObject,
            TableView.createTableOptions(dataTableObject));
    SortHandler sortHandler = new SortHandler() {

        @Override
        public void onSort(SortEvent event) {
            if (event.getColumn() == 0) {
                if (dataTableObject.getColumnLabel(event.getColumn()).contains("Time")
                        || dataTableObject.getColumnLabel(event.getColumn()).contains(
                                "Frequency")) {
                    reverseRowOrder(); //reverses the order of the rows in dataTableObject
                    table.draw(dataTableObject, TableView.createTableOptions(dataTableObject));
                }
            }
        }
    };
    table.addSortHandler(sortHandler);
    return table;
}