
Standardmäßig sind die Größen von ALV-Anzeige, Spalten und Zeilen abhängig von ihrem Inhalt. Mit anderen Worten:
Eine Spalte ist mindestens so breit wie ihre breiteste Zelle.
Die ALV-Anzeige ist mindestens so breit wie die Summe ihrer Spalten.
Eine Zeile ist mindestens so hoch wie ihre höchste Zelle.
Sie können die Breite von ALV-Anzeige und Spalten auf einfache Weise vergrößern, indem Sie die gewünschte Breite angeben. Um sie allerdings zu verringern, müssen Sie einen kleinen Umweg gehen: Sie fixieren das Layout der ALV-Anzeige. Alle Spalten erhalten zunächst dieselbe Breite. Nun können Sie die gewünschten Spaltenbreiten eingeben. Folgende Einstellungen können Sie zur Größe der einzelnen Bereiche vornehmen:
Breite ändern
Höhe ändern
Die Höhe der Zeilen können sie nur über den Inhalt ihrer Zellen steuern, also z. B. über die Größe von Grafiken oder mehrzeiligem Text.
Table-Layout fixieren
Breite ändern
Um die Breite eines Bereichs zu ändern, verwenden Sie Methoden aus den jeweiligen Klassen der Bereiche.
Methoden zum Ändern der Breite
|
Funktion |
Klasse |
Methode |
|
Breite der ALV-Anzeige festlegen |
IF_SALV_WD_TABLE_SETTINGS |
SET_WIDTH |
|
Breite der Spalte festlegen |
CL_SALV_WD_COLUMN |
|
|
Breite der Geschäftsgrafik festlegen |
IF_SALV_WD_GRAPHIC_SETTINGS |
|
|
Breite der Zelle festlegen Nur bei folgenden Zelleneditoren: |
SET_WIDTH bzw. SET_WIDTH_FIELDNAME |
|
|
Button |
CL_SALV_WD_UIE_BUTTON |
|
|
DropDown-Listbox |
CL_SALV_WD_UIE_DROPDOWN_ BY_KEY |
|
|
Image |
CL_SALV_WD_UIE_IMAGE |
|
|
InputField |
CL_SALV_WD_UIE_INPUT_FIELD |
|
|
ProgressIndicator |
CL_SALV_WD_UIE_PROGR_ INDICATOR |
|
|
ToggleButton |
CL_SALV_WD_UIE_TOGGLE_ BUTTON |
|
|
ValueComparison |
CL_SALV_WD_UIE_VALUE_CMP |
|
|
Breite der ALV-Anzeige holen |
IF_SALV_WD_TABLE_SETTINGS |
GET_WIDTH |
|
Breite der Spalte holen |
CL_SALV_WD_COLUMN |
|
|
Breite der Geschäftsgrafik holen |
IF_SALV_WD_GRAPHIC_SETTINGS |
|
|
Breite der Zelle holen (nur bei o. g. Zelleneditoren) |
GET_WIDTH bzw. GET_WIDTH_FIELDNAME |
Höhe ändern
Die Höhe der ALV-Anzeige legen Sie über die Anzahl der Zeilen fest, die gleichzeitig sichtbar sein sollen.
Wenn die Anzahl der Datensätze geringer ist als die Anzahl der sichtbaren Zeilen, so werden standardmäßig Leerzeilen am Ende der ALV-Anzeige angehängt. Sie können festlegen, dass keine Leerzeilen angehängt werden, die Höhe der ALV-Anzeige sich also an die Anzahl der Datensätze anpasst.
Dazu verwenden Sie Methoden der Interface-Klasse IF_SALV_WD_TABLE_SETTINGS (implementierende Klasse CL_SALV_WD_CONFIG_TABLE).
Methoden zum Ändern der Höhe
|
Funktion |
Methode |
|
Anzahl der sichtbaren Zeilen festlegen |
SET_VISIBLE_ROW_COUNT |
|
Anzahl der sichtbaren Zeilen holen |
GET_VISIBLE_ROW_COUNT |
|
Leere Zeilen anhängen |
SET_DISPLAY_EMPTY_ROWS |
|
Prüfen, ob leere Zeilen angehängt werden |
GET_DISPLAY_EMPTY_ROWS |
Um alle Datensätze der internen Datentabelle anzuzeigen, legen Sie die Anzahl der sichtbaren Zeilen auf -1 fest.
Table-Layout fixieren
Wenn Sie das Layout der ALV-Anzeige fixieren, können Spalten schmaler werden, als ihr Inhalt vorgibt.
Dazu verwenden Sie Methoden der Interface-Klasse IF_SALV_WD_TABLE_SETTINGS (implementierende Klasse CL_SALV_WD_CONFIG_TABLE).
Methoden zum Fixieren des Table-Layout
|
Funktion |
Methode |
|
Table-Layout fixieren |
SET_FIXED_TABLE_LAYOUT |
|
Prüfen, ob Table-Layout fixiert ist |
GET_FIXED_TABLE_LAYOUT |
Verhalten der Tabelle beim Verändern der Spaltenbreite festlegen
Wenn der Benutzer die Breite einer Spalte ändert, wird standardmäßig die Breite der anderen Spalten angepasst, die Breite der Tabelle bleibt stabil. Sie können festlegen, dass sich die Breite der anderen Spalten nicht ändert, sondern die Spalten über horizontales Scrolling angesteuert werden können.
Dazu verwenden Sie Methoden der Interface-Klasse IF_SALV_WD_TABLE_SETTINGS (implementierende Klasse CL_SALV_WD_CONFIG_TABLE).
|
Funktion |
Methode |
|
Festlegen, ob die Breite der anderen Spalten angepasst wird |
SET_COLUMN_RESIZE_MODE |
|
Prüfen, ob die Breite der anderen Spalten angepasst wird |
GET_COLUMN_RESIZE_MODE |
Die Eigenschaft COLUMN_RESIZE_MODE hat zwei Ausprägungen:
PreserveTableWidth (default)
Wenn der Benutzer die Breite einer Spalte verändert, wird die Breite aller anderen Spalten ebenfalls beeinflusst.
PreserveOtherColumnWidths
Wenn der Benutzer die Breite einer Spalte verändert, bleibt die Breite der anderen Spalten konstant. Wenn die Summe aller Spaltenbreiten größer ist als die Breite der gesamten Tabelle, dann wird horizontales client-seitiges Scrollen ermöglicht.
Für diese Einstellung gelten einige Voraussetzungen und Bedingungen. Weitere Informationen: Table-Eigenschaften
Fixierte Spalten und eine Angabe zur Anzahl der sichtbaren Spalten werden ignoriert. Deshalb stehen diese Optionen dem Benutzer im Einstellungsdialog auch nicht zu Verfügung.