如何动态地将行添加到GXT网格

时间:2016-11-11 01:06:54

标签: java gwt gxt

我试图向GXT网格添加一行并且失败了。我正在尝试构建一个可用作IN过滤器的网格。它有一个DateField和两个按钮ADD和REMOVE。 ADD应从日期字段中取出日期并将其添加到网格中。 REMOVE应从网格中删除所选项目。

enter image description here

问题在于,当我在网格商店中添加日期时,我无法弄清楚如何让它在网格上显示。我尝试过loader.load(),view.refresh(),grid.configure()和触发事件的不同组合。

addButton = new Button("Add");
    addButton.setVisible(true);
    addButton.addSelectionListener(new SelectionListener<ButtonEvent>(){
        @Override
        public void componentSelected(ButtonEvent ce) {
            if(dateField.getValue() != null) {

                GwtDate date = GwtDate.decodeFromJavaDate(dateField.getValue());
                grid.getStore().add(date);
                //grid.getStore().getLoader().load();
                //grid.getView().refresh(true);
                grid.reconfigure(grid.getStore(), grid.getColumnModel());

                fireEvent(Events.Change);
            }

        }
    });

    toolbar.add(addButton);

对于这些旧版本的GWT / GXT,我找不到很多文档,所以我希望有人可以提供帮助。谢谢。

GXT 2.2.3版 GWT版本2.2.0

1 个答案:

答案 0 :(得分:1)

问题几乎可以肯定是大小调整 - 菜单中的网格 菜单已设置为没有布局,没有大小,并且预计会增长以适应其内容(因为这是菜单的方式)通常工作),但是像许多数据视图一样,如果没有给出明确的大小,它将无法很好地运行,因此它可以根据需要添加滚动条。

要么给它一个大小,从其父级设置布局,要么查看“自动高度网格”示例/解决方法,确保您了解使用它的后果。

另请注意,GWT 2.2和GXT 2.2.3已过期五年,而GXT 2在一年前GXT 4发布时已经过期。它们可能存在其他问题以及此后发布的任何浏览器版本。