gpt4 book ai didi

java - 使用 AsyncDataProvider 进行多列排序

转载 作者:太空宇宙 更新时间:2023-11-04 06:45:37 24 4
gpt4 key购买 nike

我有可排序的列 AB 。当用户点击A列进行排序时,我的结果数据应按 A列类型排序, B列将显示相关数据。当用户点击 B列进行排序时,我的结果数据应按 B列类型排序, A列将显示相关数据。我按照列排序为 GWT Column Sort例如使用 GWT DataGridAsyncDataProvider 。此示例显示单列排序,我想使用一个或多个列排序,但我不知道如何确定
哪一列触发了列排序事件?

在我的 RPC 方法中,

    AsyncHandler handler = new AsyncHandler(myGridTable);
myGridTable.addColumnSortHandler(handler);
myGridTable.getColumnSortList().push(A_column);
myGridTable.getColumnSortList().push(B_column);

AsyncDataProvider<AdminModel> provider = new AsyncDataProvider<AdminModel>() {
protected void onRangeChanged(final HasData<AdminModel> display) {
final int start = display.getVisibleRange().getStart();
int length = display.getVisibleRange().getLength();

AsyncCallback<String> callback = new AsyncCallback<String> {
public void onFailure(final Throwable caught) {
Window.alert(caught.getMessage());
}
public void onSuccess(final String result) {
........
updateRowData(start, adminList);
}
};
final ColumnSortList sortList = myGridTable.getColumnSortList();
// Here to determine which column sort

// send request to server
}
};

provider.addDataDisplay(view.getDataGridResults());

最佳答案

参见here了解详情。

基本上 view.getDataGridResults().getColumnSortList().get(0).getColumn() 将返回用户单击的列。

如果您还想获取其他列(例如多重排序),则还必须检查索引 > 0(即 get(1).getColumn())

获得列后,您可以通过调用 view.getDataGridResults().getColumnSortList().get(0).getColumn().isAscending() 检查方向

关于java - 使用 AsyncDataProvider 进行多列排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24036832/

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