【发布时间】:2020-04-23 12:18:38
【问题描述】:
我使用 Vaadin 14。 我有一个网格来显示用户。另外,我有一个按钮来创建和保存新用户。 我的 MainGrid 如下所示:
public class MainView extends VerticalLayout {
private final UserService userService;
private final AddUserDialog addUserDialog;
private Grid<UserDto> grid;
public MainView(UserService userService,
AddUserDialog addUserDialog) {
this.userService = userService;
this.addUserDialog = addUserDialog;
}
@PostConstruct
private void renderComponents() {
renderAddUserButton();
renderUserGrid();
}
private void renderAddUserButton() {
Button addUserButton = new Button("Добавить", VaadinIcon.PLUS.create());
addUserButton.addClickListener(event -> addUserDialog.open());
add(addUserButton);
}
private void renderUserGrid() {
grid = new Grid<>(UserDto.class);
//grid init here
add(grid);
}
}
对话框如下所示:
public class AddUserDialog extends Dialog {
private final UserService userService;
public AddUserDialog(UserService userService) {
this.userService = userService;
}
@PostConstruct
public void init() {
//init form here
}
private void save(Binder<UserDto> binder) {
UserDto userDto = new UserDto();
try {
binder.writeBean(userDto);
} catch (ValidationException e) {
e.printStackTrace();
}
userService.save(userDto);
this.close();
}
}
请教,关闭对话框后如何刷新网格?
【问题讨论】: