
Die meisten Eigenschaften, die das Aussehen von Spalten in der ALV-Ausgabe betreffen, können Sie auf zwei Arten zuweisen:
Sie weisen die Eigenschaft der gesamten Spalte zu, dann erhält jede Zelle der Spalte diese Eigenschaft.
Sie hinterlegen in einem anderen Feld in jeder Zelle die Informationen dazu, wie in der aktuellen Spalte die entsprechende Zelle aussehen soll. Anschließend weisen Sie der aktuellen Spalte jenes Feld zu. So können Sie jeder Zelle einzeln die gewünschten Eigenschaften zuweisen.
Folgende Eigenschaften können Sie auf diese Weise zuordnen:
Hintergrundfarbe einer Spalte (SET_CELL_DESIGN vs. SET_CELL_DESIGN_FIELDNAME)
Zellenvariante (SET_SELECTED_CELL_VARIANT vs. SET_SEL_CELL_VARIANT_FIELDNAME)
Eigenschaften des Zelleneditors
Einige Eigenschaften zum Aussehen einer Zelle sind allerdings gekoppelt an den Zelleneditor, der in der Zelle verwendet wird. Das heißt, die Eigenschaften des Zelleneditors bestimmen, wie eine Spalte dargestellt wird. Auch für diese Eigenschaften gilt: Sie können für alle Instanzen des Editors gültig sein, oder durch Informationen in einem anderen Feld überlagert werden.
Am folgenden Beispiel ist dargestellt, wie Sie die Sichtbarkeit eines Buttons für einzelne Zeilen einer Spalte verschieden definieren können.
In einer Spalte verwenden Sie den Zelleneditor BUTTON. Jede Zelle wird also als Button dargestellt. Sie möchten verschiedene Zellen dieser Spalte ausblenden. Da die Sichtbarkeit eine Eigenschaft des Buttons ist, und nicht eine Eigenschaft der Spalte, müssen Sie einen Umweg gehen, um die Zelle auszublenden. Sie bestimmen über ein Feld, z. B. BUTTON_VIS, in welchen Zellen der Spalte lr_column der Button sichtbar ist und in welchen nicht.
Erzeugen Sie ein Objekt der Klasse CL_SALV_WD_UIE_BUTTON (z. B. lr_button).
Ein fremdes Feld (z. B. BUTTON_VIS) enthält die Informationen zur Sichtbarkeit je Zelle. Dieses Feld ordnen Sie dem Button lr_button zu:
lr_button->set_visible_fieldname( ' BUTTON_VIS ' ).
Weisen Sie der Spalte (z. B. lr_column) diesen Button als Zelleneditor zu:
lr_column->set_cell_editor( lr_button ).
Die folgende Liste zeigt einige weitere Beispiele für Eigenschaften, die Sie über den Zelleneditor zuweisen:
verwendete Schriftart im TEXT_VIEW (SET_DESIGN vs. SET_DESIGN_FIELDNAME)
Grafik auf einem gewählten ToggleButton (SET_CHECKED_IMAGE_SOURCE vs. SET_CHECKED_IMG_SRC_FIELDNAME)
Größe des Fortschrittsbalkens im ProgressIndicator (SET_PERCENT_VALUE vs. SET_PERCENT_VALUE_FIELDNAME)