2017-09-25 1 views
2

Ich erstelle ein ALV-Ausgabegitter mit der Klasse cl_gui_alv_grid. Eine der Spalten der Ausgabetabelle ist als eine Checkbox, definiert durch den entsprechenden Datensatz der fieldcatalog Verwendung:Markieren Sie die Kontrollkästchen im ALV-Ausgabegitter als ausgewählt

ls_fcat-checkbox = 'X'. 
ls_fcat-edit = 'X'. 

enter image description here

für alle Datensätze der Spalte, die die Kontrollkästchen enthält, sind sie alle gesetzt als nicht ausgewählt. Meine Frage ist, welche Logik ich implementieren kann, damit für einige der Zeilen die Kontrollkästchen aktiviert werden, die ausgewählt werden, wenn ich den ALV anzeige.

Antwort

4

Wenn Sie das Kontrollkästchen nach den ursprünglich angezeigten Daten im Raster alv aktivieren möchten, füllen Sie einfach das Feld outtab checkbox mit abap_true (= 'X'), wenn die Bedingung übereinstimmt. Wenn Sie nicht verwenden Sie den Checkbox-Parameter des Feldkatalogs würden Sie nur 'X' für überprüft und '' für nicht überprüft.

Wenn Sie das Kontrollkästchen nach Benutzereingabe gesetzt werden soll, nachdem sie einige Felder im ALV Grid bearbeitet, verwenden Sie die ALV-Grid Ereignisse nach Registerkarte Ausgang zu ändern:

METHODS: 
     handle_data_changed FOR EVENT data_changed OF cl_gui_alv_grid 
     IMPORTING er_data_changed, 

     handle_data_changed_finished FOR EVENT data_changed_finished OF cl_gui_alv_grid, "executed only if no errors, outtab holds changed data 

I Ich habe auch einige Kommentare gefunden , als ich mich mit diesen Ereignissen befassen musste

+0

Ja, ich wollte einige der Zeilen zeigen, wie überprüft der erste Moment, als der ALV angezeigt wurde. Ich füllte das Outtab und es ist jetzt ok. Vielen Dank –

Verwandte Themen