在 Vaadin 8 中,给定以下 Grid 定义:
grid = new Grid<>();
grid.getEditor().setEnabled(true);
carBinder = grid.getEditor().getBinder();
和:
grid.getEditor().addSaveListener(event -> {
try {
Binder<Car> binder = event.getSource().getBinder();
grid.getDataProvider().refreshAll();
} catch(Exception e)
ExceptionNotification.show(e);
}
});
我遇到的问题是,我目前无法从网格编辑器访问修改后的值,既不能通过event.getSource()也不能通过活页夹,在本地或在类范围内定义。
在调试器中,我在 Vaadin 类com.vaadin.ui.components.grid.EditorImpl中看到了一个已编辑的属性,其中包含值,但它是私有的,因此无法访问。
在调试中 binder.bean 的值为 NULL。这将是通过 binder.getBean() 检索的值。
所以我尝试了很多方法,但目前我无法使用保存侦听器获得编辑后的值,以便使用它,并寻找一些帮助或灵感来解决问题。