Table
La classe Table est un composant polyvalent conçu pour présenter des informations tabulaires de manière structurée et facilement compréhensible. Optimisé pour gérer de grands ensembles de données avec une haute performance, ce composant offre une visualisation avancée et une suite complète d'événements pour une interaction dynamique avec l'utilisateur.
Création d'une Table
Afficher le code
- DataTableView.java
Pour créer et peupler une Table dans une application, les étapes suivantes peuvent être suivies :
1. Créer une classe d'entité
Définissez une classe pour représenter les entités (données) que vous souhaitez afficher dans la table. Dans cet exemple, cette classe est MusicRecord.
public class MusicRecord {
// Champs et méthodes pour représenter les attributs de chaque enregistrement
}
2. Créer un référentiel
Une fois qu'une classe d'entité a été créée, utilisez-la pour remplir une collection de ces entités avec les données souhaitées.
À partir de ces données, un Repository doit être créé pour être utilisé dans la Table. La classe CollectionRepository est fournie pour transformer toute collection Java valide en un Repository utilisable, évitant ainsi la nécessité d'implémenter votre propre classe 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);
Pour plus d'informations sur le pattern Repository dans webforJ, consultez les articles sur le Repository.
3. Instancier la Table et ajouter des colonnes
Instanciez un nouvel objet Table et utilisez l'une des méthodes de fabrication fournies pour ajouter les colonnes souhaitées à une Table nouvellement créée :
Table<MusicRecord> table = new Table<>();
table.addColumn("Numéro", MusicRecord::getNumber);
table.addColumn("Titre", MusicRecord::getTitle);
table.addColumn("Artiste", MusicRecord::getArtist);
table.addColumn("Genre", MusicRecord::getMusicType);
table.addColumn("Coût", MusicRecord::getCost);
4. Définir les données de la Table
Enfin, définissez le Repository pour la Table créée à l'étape précédente :
table.setRepository(Service.getMusicRecords());
Alternativement, la méthode setItems() peut se voir passer toute collection Java valide, ce qui créera pour vous un CollectionRepository en arrière-plan.
Ci-dessous se trouve un exemple des étapes ci-dessus mises en œuvre pour créer un composant Table basique :
Afficher le code
- TableBasicView.java
- MusicRecord.java
- Service.java