0

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

照原样,我有一列,其中每个单元格都包含格式中一天中时间的字符串表示hh:mm a形式。正如它按字母顺序显示的那样(上午 10:00、晚上 10:00、上午 11:00 等)。

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

        @Override
        public void onSort() {
            if (getDataTable().getColumnLabel(event.getColumn()).contains("Time")) {

              //Do something here
            }

        }
    });
    return table;
}

我无法比这更进一步。

4

1 回答 1

0

使用安迪金的方法,想出了这个。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;
}
于 2013-08-07T19:57:36.317 回答