Bonjour,
j'ai des hésitations concernant la solution technique à apporter à la mise à jour de données dans une table.
Le problème est complexe à expliquer, prenez moi la main et suivez moi, je vous explique ;-)
Soit A un composant, rendant N services.
A chaque service, correspond deux modèles (extends DefaultTableModel).
A chaque service correspond x inputs (couple nom + valeur servant de données au premier modèle) et y outputs (couple nom + valeur servant de données au second modèle).
Je veux pouvoir sélectionner dynamiquement le service en cours d'utilisation et donc changer dynamiquement les modèles associes.
Je vois trois solutions possibles et je ne sais que choisir :
- je crée un modèle d'inputs contenant toutes les inputs possibles (idem pour les outputs) et je rends visible ou invisilbe les rowsqui m'intèressent selon le service choisi.
- je crée un modèle vide et je change le modèle via setDataVector(...,...) au changement de sélection de mon service. Un fireTableDataChanged tenant ma table au courant des changement (chose qui se vérifie pas vraiment à cause de la création d'un modèle vide, fireTableStructureChanged() ne semble pas plus efficace)
- je crée dés le départ autant de modèles (inputs + outputs) que de service possibles (Outch ! Ca pourrait vite être énorme) et je stocke tout ça dans un tableau. Ensuite, je sélectionne et affecte le bon modèle à la sélection du service.
Voilà, c'était long alors merci de m'avoir suivi.
Si vous pouviez me donner votre avis voir une solution à laquelle je n'ai pas pensé, ce serait génial !!
Merci d'avence !!
Lain
Partager