gpt4 book ai didi

gwt - 可排序 CellTable 列的标题没有响应

转载 作者:行者123 更新时间:2023-12-05 01:11:59 27 4
gpt4 key购买 nike

我正在使用 GWT 2.5 创建一个带有可排序日期列的 CellTable。

我的代码如下:

CellTable<Activity> table = new CellTable<Activity>();

table.setRowStyles(new RowStyles<Activity>() {
@Override
public String getStyleNames(Activity row, int rowIndex) {
return TABLE_ROW_STYLE_NAME;
}
});

// create date column
TextColumn<Activity> dateColumn = new TextColumn<Activity>() {
@Override
public String getValue(Activity a) {
return dateFormat.format(a.getDate());
}
};
dateColumn.setSortable(true);
dateColumn.setDefaultSortAscending(false);
// add column to table
table.addColumn(dateColumn, myConstants.dateColumnHeader());

// attach provider to table
activityProvider.addDataDisplay(table);

// create sort handler
ListHandler<Activity> sortHandler = new ListHandler<Activity>(activityProvider.getList());
sortHandler.setComparator(dateColumn, new Comparator<Activity>() {
@Override
public int compare(Activity a1, Activity a2) {
if (a1 == a2) {
return 0;
}

// compare the date columns
if (a1 != null) {
if (a2 != null) {
long a1Val = a1.getDate().getTime();
long a2Val = a2.getDate().getTime();
if (a1Val == a2Val) {
return 0;
}
else if (a1Val > a2Val) {
return 1;
}
else {
return -1;
}
}
else {
return 1;
}
}

return -1;
}
});

// add sort handler to table
table.addColumnSortHandler(sortHandler);

// add date column to table's sort list
table.getColumnSortList().push(dateColumn);

table.setWidth("100%");

getView().getActivityPanel().add(table);

通过这段代码,数据显示在表格中,并出现列上的排序箭头。但是,当我单击可排序列的标题时,没有任何反应。排序顺序没有改变,行没有重新排列。

谁能发现这里的问题?这段代码与他们在 Google's own example 中的代码几乎相同。 .

最佳答案

这是我用的:

    dateColumn.setSortable(true);
sortHandler.setComparator(dateColumn, new Comparator<ObjectPobject>() {
public int compare(ObjectPobject o1, ObjectPobject o2) {
return o1.getDate().compareTo(o2.getDate());
}
});

关于gwt - 可排序 CellTable 列的标题没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11883811/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com