Vaadin 8 では、次のグリッド定義が与えられます。
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() によって取得される値になります。
そのため、さまざまな方法を試しましたが、現在、保存リスナーで編集された値を取得して操作し、問題を解決するためのヘルプやインスピレーションを検索することができませんでした。