首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在GWT中刷新TreeGrid?

如何在GWT中刷新TreeGrid?
EN

Stack Overflow用户
提问于 2017-06-14 18:06:14
回答 2查看 299关注 0票数 1

朋友您好,我正在开发一个GWT应用程序,其中我使用的是TreeGrid。当我在这个mine类中使用规则网格时:

代码语言:javascript
复制
RpcProxy<ListLoadResult<GwtDatastoreAsset>> proxy = new RpcProxy<ListLoadResult<GwtDatastoreAsset>>() {

            @Override
            protected void load(Object loadConfig, AsyncCallback<ListLoadResult<GwtDatastoreAsset>> callback) {
                if (selectedDevice != null) {
                dataService.findAssets((LoadConfig) loadConfig, currentSession.getSelectedAccount().getId(), selectedDevice, callback);
                }
            }
        };

        loader = new BaseListLoader<ListLoadResult<GwtDatastoreAsset>>(proxy);
        loader.load();
        SwappableListStore<GwtDatastoreAsset> store = new SwappableListStore<GwtDatastoreAsset>(loader);
        assetGrid = new Grid<GwtDatastoreAsset>(store, new ColumnModel(configs));
        assetGrid.setBorders(false);
        assetGrid.setStateful(false);
        assetGrid.setLoadMask(true);
        assetGrid.setStripeRows(true);
        assetGrid.getView().setAutoFill(true);
        assetGrid.getView().setEmptyText(MSGS.assetTableEmptyText());
        assetGrid.disableTextSelection(false);

在这个类中,在我的刷新方法中,我只做了assetGrid.getStore()、.getLoader()、.load(),仅此而已,但是对于TreeGrid,我不能这样做。这是我使用TreeGrid的方法:

代码语言:javascript
复制
 AsyncCallback<List<GwtTopic>> topicsCallback = new AsyncCallback<List<GwtTopic>>() {

            @Override
            public void onSuccess(List<GwtTopic> topics) {
                store.add(topics, true);
                topicInfoGrid.unmask();
            }

            @Override
            public void onFailure(Throwable t) {
                FailureHandler.handle(t);
                topicInfoGrid.unmask();
            }
        };
        dataService.findTopicsTree(currentSession.getSelectedAccount().getId(), topicsCallback);
        topicInfoGrid = new TreeGrid<GwtTopic>(store, new ColumnModel(configs));
        topicInfoGrid.setBorders(false);
        topicInfoGrid.setStateful(false);
        topicInfoGrid.setLoadMask(true);
        topicInfoGrid.mask("Loading");
        topicInfoGrid.setStripeRows(true);
        topicInfoGrid.getView().setAutoFill(true);
        topicInfoGrid.getView().setEmptyText(MSGS.topicInfoGridEmptyText());
        topicInfoGrid.disableTextSelection(false);

所以我的问题是如何为TreeGrid创建刷新方法,就像我对常规网格所做的那样。

EN

回答 2

Stack Overflow用户

发布于 2017-12-22 20:13:20

尝试在onSuccess方法之后添加以下内容:

代码语言:javascript
复制
topicInfoGrid.getTreeView().refresh(true);

或者,如果刷新不起作用,则执行此操作

代码语言:javascript
复制
 topicInfoGrid.reconfigure(store, cm, treeColumn);
票数 1
EN

Stack Overflow用户

发布于 2017-06-14 21:06:53

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

https://stackoverflow.com/questions/44541635

复制
相关文章

相似问题

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