首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多重ColumnSorting与AsyncDataProvider

多重ColumnSorting与AsyncDataProvider
EN

Stack Overflow用户
提问于 2014-06-04 11:59:17
回答 1查看 438关注 0票数 1

我有可排序的列AB。当用户单击列A进行排序时,我的结果数据应该通过列A类型进行排序,列B将显示相对datas.When用户被单击列B进行排序,我的结果数据应该通过列B>E 213类型和列<>E 114>AE 215显示相对数据。我以GWT列排序为例,使用GWT DataGridAsyncDataProvider进行列排序。此示例显示单列排序,我希望使用一个或多个列排序,但不知道如何确定

哪个列被触发列排序事件?

在我的RPC方法中

代码语言:javascript
复制
    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());
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-05 07:03:33

详情请参见这里

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

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

一旦有了列,就可以通过调用view.getDataGridResults().getColumnSortList().get(0).getColumn().isAscending()检查方向

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24036832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档