Bean ListManager

Le bean ListManager associe un fichier de base de données à un composant JComponent contenant plusieurs lignes de données pour pouvoir manipuler un ensemble d'enregistrements à partir de ce composant. JList, JComboBox, JTable, JFormattedComboBox et JFormattedTable sont des exemples de composants JComponents constitués de plusieurs éléments de données.

ListManager utilise RecordIOManager pour permettre des accès et des manipulations au niveau des enregistrements. Le format d'enregistrement d'un fichier base de données est défini dans la propriété recordIOManager. Pour plus d'informations sur le bean RecordIOManager, reportez-vous aux références connexes ci-après.

Pour qu'un bean ListManager puisse associer un composant JComponent à une zone, les opérations suivantes doivent être effectuées :

Si le composant JComponent associé à une zone est un composant JFormattedComponent et que ses attributs de données ne correspondent pas au type de données, à la longueur de données ou aux positions décimales de la zone de base de données, le bean ListManager modifie automatiquement ces attributs si la propriété de autoChangeDataAttributes est réglée sur la valeur true. Le tableau suivant présente les attributs qui peuvent être modifiés pour les différents types de zone :

Type de zone Type de données Longueur Positions décimales
Binaire (B) DATATYPE_ NUMERIC Aucune modification 0
Alphanumérique (A) DATATYPE_ CHARACTER Longueur de zone 0
DBCS à deux ou à un caractère (E) DATATYPE_ CHARACTER Longueur de zone 0
DBCS graphique (G) DATATYPE_ CHARACTER Longueur de zone 0
DBCS seulement (J) DATATYPE_ CHARACTER Longueur de zone 0
DBCS Open (O) DATATYPE_ CHARACTER Longueur de zone 0
Date (L) DATATYPE_ CHARACTER Longueur de zone 0
Variable flottante (F) DATATYPE_ NUMERIC Si la longueur des données du composant JFormattedComponent est inférieure au nombre de positions décimales de la zone, la longueur est égale au nombre de position décimales plus 10. Nombre de positions décimales
Variable flottante (F) DATATYPE_ CHARACTER 20 0
Hexadécimal (H) DATATYPE_ CHARACTER Longueur de zone spécifiée deux fois

FormManager affiche la représentation hexadécimale de la zone.

0
Décimal condensé (P) DATATYPE_ NUMERIC Longueur de zone Nombre de positions décimales
Heure (T) DATATYPE_ CHARACTER Longueur de la zone (8 octets) 0
Horodatage (Z) DATATYPE_ CHARACTER Longueur de la zone (26 octets) 0
Décimal étendu (S) DATATYPE_ NUMERIC Longueur de zone Nombre de positions décimales

Si le composant JComponent est une table javax.swing.JTable ou com.ibm.etools.iseries.ui.JFormattedTable, et n'a pas de colonne TableColumn définie, le bean ListManager crée automatiquement des colonnes de table en fonction des valeurs selectedColumnNames définies dans la propriété recordIOManager. Cette dernière contient par défaut tous les noms de zone du format d'enregistrement.

Si le composant JComponent est une table javax.swing.JTable ou com.ibm.etools.iseries.ui.JFormattedTable, et que le type openType du fichier base de données est OPENTYPE_READ_WRITE, la ligne sélectionnée précédemment est automatiquement mise à jour dans le fichier base de données chaque fois qu'une autre ligne est sélectionnée et que les données de la ligne sélectionnée précédemment ont été modifiées. Si vous insérez une nouvelle ligne avant ou après la ligne en cours, vous pouvez y entrer de nouvelles données et lorsqu'elle est modifiée, la nouvelle ligne est automatiquement ajoutée au fichier base de données. Si le type openType du fichier base de données est OPENTYPE_READ_ONLY, toute modification apportée à la table JTable ou JFormattedTable n'est pas mise à jour dans le fichier base de données.


Commentaires en retour