ALV-OO, Umleitung Hotspot auf Context Menu

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
8 Beiträge • Seite 1 von 1
8 Beiträge Seite 1 von 1

ALV-OO, Umleitung Hotspot auf Context Menu

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
hallo zusammen,

mit der Klasse cl_gui_alv_grid erstelle ich einen ALV. Im diesem sind unter anderem die Ereignisse für hotspot_click und context_menu_request definiert. Die Bedienung des ALV soll ausschliesslich über das Kontext-Menü erfolgen, daher habe ich es mir überlegt beim Klick auf den Hotspot ebenfalls das Kontext-Menü zu öffnen. Wie kann ich aber den Hotspot-Klick auf den Aufruf des Kontext-Menüs umleiten?

vielen Dank im Voraus!
schöne Grüße
Alexander

ECC 6.0 EHP 7

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: ALV-OO, Umleitung Hotspot auf Context Menu

Beitrag von a-dead-trousers (Top Expert / 4399 / 223 / 1182 ) »
hi!

Mit der Klasse CL_CTMENU das Contextmenü zusammenbauen und mit CL_CTXMNU_MGR=>POST anzeigen.

lg ADT

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Alexander D.

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: ALV-OO, Umleitung Hotspot auf Context Menu

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
Danke, ADT, das hat soweit schon mal geklappt. Einziger Wermutstropfen: egal welche Zeile ich im ALV anklicke, das Kontextmenü erscheint immer auf dem Bildschirm oben links, bei (0,0). Eine Idee wie ich die Koordinaten des Menüs der Mausposition anpassen könnte?
schöne Grüße
Alexander

ECC 6.0 EHP 7

Re: ALV-OO, Umleitung Hotspot auf Context Menu

Beitrag von a-dead-trousers (Top Expert / 4399 / 223 / 1182 ) »
hi!

Bei POST kann man das Bezugscontrol auf dem GUI angeben.
Hast du hier das ALV übergeben?

lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: ALV-OO, Umleitung Hotspot auf Context Menu

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
a-dead-trousers hat geschrieben: Bei POST kann man das Bezugscontrol auf dem GUI angeben.
Hast du hier das ALV übergeben?
ja, das habe ich.

Code: Alles auswählen.

DATA gr_alvgrid TYPE REF TO cl_gui_alv_grid .
...
FORM handle_hotspot_click USING i_row_id TYPE lvc_s_row
                                i_column_id TYPE lvc_s_col
                                is_row_no TYPE lvc_s_roid.

  DATA: l_smenu TYPE REF TO cl_ctmenu.

  CREATE OBJECT l_smenu.
  PERFORM erzeuge_kontextmenu CHANGING l_smenu.

    call method cl_ctxmnu_mgr=>post
      exporting
        menu    = l_smenu
        control = gr_alvgrid.
ENDFORM.
könnte ich stattdessen auf eine Zeile / Zelle als Objekt verweisen? Wenn ja, wie bekomme ich diese als Objektinstanz?
schöne Grüße
Alexander

ECC 6.0 EHP 7

Re: ALV-OO, Umleitung Hotspot auf Context Menu

Beitrag von black_adept (Top Expert / 4098 / 128 / 941 ) »
Hallo Alexander,

warum leitest du nicht einfach den Hotspot-event auf den Context-Menü-Request-event um

Code: Alles auswählen.

CLASS lcl_event_receiver DEFINITION.
  PUBLIC SECTION.
    CLASS-METHODS: handle_hotspot_click FOR EVENT hotspot_click OF cl_gui_alv_grid IMPORTING e_row_id e_column_id.
    CLASS-METHODS: handle_ctx           FOR EVENT context_menu_request OF cl_gui_alv_grid IMPORTING e_object.
ENDCLASS.                    "lcl_event_receiver DEFINITION
...
CLASS lcl_event_receiver IMPLEMENTATION.
  METHOD handle_ctx.
*    BREAK-POINT.
  ENDMETHOD.                    "handle_ctx
  METHOD handle_hotspot_click.
    gcl_grid->dispatch( EXPORTING  cargo             = space
                                   eventid           = 9"cl_gui_alv_grid=>EVT_CONTEXT_MENU
                                   is_shellevent     = space
                                   is_systemdispatch = 'X'
                        EXCEPTIONS cntl_error        = 1
                                   OTHERS            = 2 ).

  ENDMETHOD.                    "handle_double_click
ENDCLASS.                    "lcl_event_receiver IMPLEMENTATION


Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag (Insgesamt 4):
Alexander D.a-dead-trousersewxdirty_dan

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: ALV-OO, Umleitung Hotspot auf Context Menu

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
hallo black_adept,
black_adept hat geschrieben: warum leitest du nicht einfach den Hotspot-event auf den Context-Menü-Request-event um
weil ich bis vor 5 Minuten diese Möglichkeit nicht gekannt habe :-) Dieser Weg ist genau das, wonach ich suchte, nun funktioniert alles tadellos. Vielen Dank!
schöne Grüße
Alexander

ECC 6.0 EHP 7

Re: ALV-OO, Umleitung Hotspot auf Context Menu

Beitrag von a-dead-trousers (Top Expert / 4399 / 223 / 1182 ) »
Tja, auch ich lerne hier immer wieder Neues :wink:
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1426
Views
REUSE_ALV_GRID_DISPLAY -> Context-Menu erweitern
von Guest » 27.09.2005 16:09 • Verfasst in ABAP® Core
1
Antw.
3498
Views
Context Binding Error
von Rantanplan78 » 21.02.2017 11:47 • Verfasst in Web-Dynpro, BSP + BHTML
1
Antw.
1358
Views
Context im Debugger auslesen
von donossi » 11.05.2011 12:02 • Verfasst in ABAP® für Anfänger
0
Antw.
2238
Views
Watchpoint auf Webdynpro Context
von donossi » 18.01.2012 12:07 • Verfasst in ABAP® für Anfänger
2
Antw.
2896
Views
ergänzung des context-nodes um ein attribut
von vmath » 15.08.2007 08:02 • Verfasst in Web Application Server

Aktuelle Forenbeiträge

Regex in where
vor 45 Minuten von edwin 1 / 7
Programm anlegen mit Vorlage
vor 4 Stunden von DeathAndPain 2 / 75
IT0024 Qualifikationen CP-ID
vor 5 Stunden von DeathAndPain 2 / 314
BUSOBJEKT zu CMIS PHIO ermitteln
vor 7 Stunden von snooga87 1 / 53

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Regex in where
vor 45 Minuten von edwin 1 / 7
Programm anlegen mit Vorlage
vor 4 Stunden von DeathAndPain 2 / 75
IT0024 Qualifikationen CP-ID
vor 5 Stunden von DeathAndPain 2 / 314
BUSOBJEKT zu CMIS PHIO ermitteln
vor 7 Stunden von snooga87 1 / 53

Unbeantwortete Forenbeiträge

Regex in where
vor 45 Minuten von edwin 1 / 7
BUSOBJEKT zu CMIS PHIO ermitteln
vor 7 Stunden von snooga87 1 / 53
aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3228