Soy nuevo en Vaadin y tengo poca experiencia con Java aunque he desarrollado en Grails en el pasado.
He conseguido poder guardar registros pero despues de dias probando me veo incapaz de editar y eliminar. Me siento gili*****, es algo que considero que tiene que ser sencillo y no se que estoy haciendo mal.
Por ejemplo, tengo una tabla el cual elimino el registro de la tabla visualmente pero luego no me ejecuta el cambio en la base de datos.
Button delete = new Button(“Delete”, new Button.ClickListener() {
public void buttonClick(ClickEvent event) {
Object userId = table.getValue();
table.removeItem(userId);
}
});
Agradezco por adelantado cualquier ayuda, si teneis algun ejemplo a mano por alli lo agradeceré (me da igual que esté en ingles )
Por ejemplo si estás usando un SQLContainer los cambios no se impactaran en la base hasta que no hagas el commit en el container, en tu caso quedaría de la siguiente forma:
Button delete = new Button("Delete", new Button.ClickListener() {
public void buttonClick(ClickEvent event) {
Object userId = table.getValue();
table.removeItem(userId);
try {
container.commit();
} catch (SQLException e) {
showError("Error when removing record!");
e.printStackTrace();
}
}
});
Espero que esto sea de ayuda.
[/code]Si ya logras obtener el id desde la tabla en vaadin, solo te quedaria hacer lo como lo siguiente:
User user = new User();
user.setId(id);//id es una variable del valor obtenido desde la tabla de vaadin
UserService uService=new UserService();
uService.deleteUser(user);
tuTabla.removeAllItems();
llenarTabla();//Deberias tener algo como esto para volver a refrescar la tabla.
Espero te ayude.