Die Bean ListManager ordnet eine Datenbankdatei einer JComponent zu, die mehrere Datenzeilen enthält, so dass eine Gruppe von Sätzen aus der JComponent bearbeitet werden kann. JComponents mit mehreren Datenelementen sind unter anderem JList, JComboBox, JTable, JFormattedComboBox und JFormattedTable.
ListManager verwendet RecordIOManager für den Zugriff auf Satzebene und für Bearbeitungsfunktionen. Das Satzformat einer Datenbankdatei wird im Merkmal recordIOManager definiert. Weitere Informationen zur Bean RecordIOManager siehe Zugehörige Verweise unten.
Bevor ein ListManager eine JComponent einem Feld zuordnen kann, muss Folgendes ausgeführt werden:
Wenn es sich bei der JComponent, die eine Feldzuordnung hat, um JFormattedComponent handelt und die zugehörigen Datenattribute nicht mit dem Datentyp, der Datenlänge oder den Dezimalstellen des Datenbankfelds übereinstimmen, ändert die ListManager-Bean automatisch diese Attribute, wenn das Merkmal autoChangeDataAttributes auf 'wahr' gesetzt ist. Die folgende Tabelle zeigt die Attribute, die für die verschiedenen Feldarten geändert werden können:
| Feldart | Datentyp | Länge | Dezimalstellen |
|---|---|---|---|
| binär (B) | DATATYPE_ NUMERIC | keine Änderung | 0 |
| Zeichen (A) | DATATYPE_ CHARACTER | Feldlänge | 0 |
| DBCS beliebig (E) | DATATYPE_ CHARACTER | Feldlänge | 0 |
| DBCS Grafik (G) | DATATYPE_ CHARACTER | Feldlänge | 0 |
| Nur DBCS (J) | DATATYPE_ CHARACTER | Feldlänge | 0 |
| DBCS offen (O) | DATATYPE_ CHARACTER | Feldlänge | 0 |
| Datum (L) | DATATYPE_ CHARACTER | Feldlänge | 0 |
| Gleitkomma (F) | DATATYPE_ NUMERIC | Wenn die Datenlänge der JFormattedComponent kleiner als die Anzahl Felddezimalstellen ist, entspricht die Länge den Dezimalstellen plus 10. | Felddezimalstellen |
| Gleitkomma (F) | DATATYPE_ CHARACTER | 20 | 0 |
| hexadezimal (H) | DATATYPE_ CHARACTER | Doppelte Feldlänge
FormManager zeigt die hexadezimale Darstellung des Felds an. |
0 |
| gepackt dezimal (P) | DATATYPE_ NUMERIC | Feldlänge | Felddezimalstellen |
| Zeit (T) | DATATYPE_ CHARACTER | Feldlänge (8 Byte) | 0 |
| Zeitmarke (Z) | DATATYPE_ CHARACTER | Feldlänge (26 Byte) | 0 |
| gezont dezimal (S) | DATATYPE_ NUMERIC | Feldlänge | Felddezimalstellen |
Wenn es sich bei der JComponent um javax.swing.JTable oder com.ibm.etools.iseries.ui.JFormattedTable handelt und TableColumn nicht definiert ist, erstellt die ListManager-Bean automatisch Tabellenspalten auf der Basis von selectedColumnNames, wie in recordIOManager definiert, da darin alle Feldnamen des Satzformats enthalten sind.
Wenn es sich bei der JComponent um javax.swing.JTable oder com.ibm.etools.iseries.ui.JFormattedTable handelt und openType der Datenbankdatei auf OPENTYPE_READ_WRITE gesetzt ist, wird die zuvor ausgewählte Zeile automatisch in der Datenbankdatei aktualisiert, wenn eine andere Zeile ausgewählt wird und sich die Daten in der zuvor ausgewählten Spalte geändert haben. Wenn Sie eine neue Zeile vor oder nach der aktuellen Zeile einfügen, können Sie neue Werte in die eingefügte Zeile eingeben. Und wenn sich die ausgewählte Tabellenzeile ändert, wird die neue Zeile der Datenbankdatei automatisch hinzugefügt. Wenn openType der Datenbankdatei auf OPENTYPE_READ_ONLY gesetzt ist, werden alle Änderungen, die an JTable oder JFormattedTable vorgenommen werden, nicht in der Datenbankdatei aktualisiert.