我有网格Pro显示产品。单个列被配置为'select‘(下拉/组合框)类型的EditColumn。我正在尝试根据该行的Product设置此组件的项。这可以使用“select”editColumn吗?
我试图使用网格的“addCellEditStartedListener”事件来实现我想要的结果,但我似乎无法从CellEditStartedEvent访问editComponent。
太棒了!
发布于 2022-04-21 02:10:58
是的,这是CellEditStartedEvent
中缺少的特性。作为另一种选择,您可以在编辑列中使用自定义编辑器,因为您可以引用所使用的字段,请参阅示例
// Use custom editor
EmailField emailField = new EmailField();
emailField.setWidth("100%");
emailField.addThemeName("grid-pro-editor");
grid.addEditColumn(Person::getEmail)
.custom(emailField, (item, newValue) -> {
item.setEmail(newValue);
}).setHeader("E-mail ");
// Use edit started listener to set the field conditionally enabled
grid.addCellEditStartedListener(event -> {
if (!event.getItem().isSubscriber()) {
emailField.setReadOnly(true);
} else {
emailField.setReadOnly(false);
}
});
完整代码在这里:https://cookbook.vaadin.com/grid-pro-conditional-edit
https://stackoverflow.com/questions/71952323
复制