Table
La clase Table es un componente versátil diseñado para presentar información tabular de manera estructurada y fácilmente comprensible. Optimizando el manejo de grandes conjuntos de datos con alto rendimiento, este componente ofrece visualización avanzada y un conjunto integral de eventos para la interacción dinámica del usuario.
Creando una Table
Mostrar Código
- DataTableView.java
Para crear y llenar una Table en una aplicación, se pueden seguir los siguientes pasos:
1. Crear una clase de entidad
Define una clase para representar las entidades (datos) que deseas mostrar en la tabla. En el ejemplo, esta clase es MusicRecord.
public class MusicRecord {
// Campos y métodos para representar los atributos de cada registro
}
2. Crear un repositorio
Una vez que se ha creado una clase de entidad, utilízala para llenar una colección de estas entidades con los datos deseados.
A partir de estos datos, se necesita crear un Repository para su uso dentro de la Table. La clase CollectionRepository se proporciona para convertir cualquier colección de Java válida en un Repository utilizable, prescindiendo de la necesidad de implementar tu propia clase Repository.
List<MusicRecord> data = new Gson().fromJson(
Assets.contentOf(
Assets.resolveContextUrl("context://data/CDStore.json")
), new TypeToken<List<MusicRecord>>() {}
);
CollectionRepository<MusicRecord> dataRepository = new CollectionRepository<>(data);
Para obtener más información sobre el patrón Repository en webforJ, consulta los artículos sobre Repositorios.
3. Instanciar Table y añadir columnas
Instancia un nuevo objeto Table y utiliza uno de los métodos de fábrica proporcionados para agregar las columnas deseadas a la Table recién creada:
Table<MusicRecord> table = new Table<>();
table.addColumn("Número", MusicRecord::getNumber);
table.addColumn("Título", MusicRecord::getTitle);
table.addColumn("Artista", MusicRecord::getArtist);
table.addColumn("Género", MusicRecord::getMusicType);
table.addColumn("Costo", MusicRecord::getCost);
4. Establecer los datos de la Table
Finalmente, establece el Repository para la Table creada en el paso anterior:
table.setRepository(Service.getMusicRecords());
Alternativamente, el método setItems() puede recibir cualquier colección de Java válida, lo que creará un CollectionRepository automáticamente para ti.
A continuación se muestra un ejemplo de los pasos anteriores implementados para crear un componente básico de Table:
Mostrar Código
- TableBasicView.java
- MusicRecord.java
- Service.java