Mariana8
(Mariana Soares)
July 17, 2019, 12:59pm
1
Hola. Necesito saber como obtener el objeto entero de un indexedContainer. ConditionedDevices es mi tabla.
Object itemId = conditionedDevices.getValue();
Item item = conditionedDevices.getItem(itemId);
ConditionedDevice cd = (ConditionedDevice) item; Error de casteo
No estoy seguro qué versión de Vaadin estás usando.
Pero si estás usando IndexedContainer
entonces el contenedor solo va a tener las propiedades que agregues para los items.
Si lo que quieres es tener los objetos originales puedes usar un BeanItemContainer, es ese caso el Item
va a ser in BeanItem
y puedes hacer beanItem.getBean()
.
Mariana8
(Mariana Soares)
July 17, 2019, 2:05pm
3
Estoy viendo porque necesito borrar un item de ese indexContainer… O sea eliminar de la tabla cuando lo selecciono y no quiero cambiar todo…
Conoces la forma de poder eliminar la fila seleccionada del indexedContainer
Gracias
Para eliminar un item de la tabla solo necesitas el itemId, si tienes un ItemClickListener el evento tiene la info del id
table.addItemClickListener(new ItemClickListener() {
@Override
public void itemClick(ItemClickEvent event) {
table.removeItem(event.getItemId());
}
});
Mariana8
(Mariana Soares)
July 17, 2019, 2:40pm
5
Tengo un boton a parte para el eliminar? Como podria hacerlo??
O sea… seleccionar la fila y apretando el boton Eliminar
El botón está en la tabla en cada fila o fuera de la tabla?
En ese caso deberías poder hacer table.removeItem(table.getValue())
Algo así
Button button = new Button("Delete selected");
button.addClickListener(new ClickListener() {
@Override
public void buttonClick(ClickEvent event) {
if (table.getValue() != null) {
table.removeItem(table.getValue());
}
}
});