我试图向 GXT 网格添加一行,但失败了。我正在尝试构建一个可以用作 IN 过滤器的网格。它有一个日期字段和两个按钮“添加”和“删除”。 ADD 应从日期字段中获取日期并将其添加到网格中。 REMOVE 应从网格中删除所选项目。
问题是,当我向网格存储添加日期时,我不知道如何让它显示在网格上。我尝试了 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
最佳答案
问题几乎肯定是尺寸调整问题 - 菜单内的网格已设置为没有布局和大小,并且预计会增长以适合其内容(因为这就是菜单的方式)通常可以工作),但是像许多数据 View 一样,如果没有给出明确的大小以便它可以根据需要添加滚动条,它就无法正常工作。
要么给它一个大小,从其父级设置布局,要么查看“自动高度网格”示例/解决方法,确保您了解使用它的后果。
<小时/>另请注意,GWT 2.2 和 GXT 2.2.3 已过时五年,而 GXT 2 已在一年前 GXT 4 发布时终止。它们以及此后发布的任何浏览器版本可能存在其他问题。
关于java - 如何动态添加一行到 GXT 网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40539668/