HTMLB Tree Problem

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

ABAP Web Dynpro, BusinessServerPages; Erstellung von Webapplikationen.
9 Beiträge • Seite 1 von 1
9 Beiträge Seite 1 von 1

HTMLB Tree Problem

Beitrag von Karina ( / / 0 / 3 ) »
Hallo zusammen,

ich erstelle mir dynamisch einen htmlb:tree, etwa so:

Code: Alles auswählen.

  loop at lt_groups into wa_groups.
      wa_tab-treeid       = 'cattree'.
      wa_tab-parentid     = wa_groups-parent.
      wa_tab-childid      = wa_groups-id.
      wa_tab-text         = wa_groups-name.
      wa_tab-link         = ''.
      wa_tab-click        = 'Test'.
      wa_tab-STATUS       = 'close'.
      wa_tab-tlevel       = ''.
      append wa_tab to lt_treetab.
  endloop.
( ist nur ein teil des codes, also die erstellung des Trees funktioniert eigenltich wunderbar )

mein problem liegt jetzt darin, dass ich wenn jemand auf die Node selbst - also ned auf den Pfeil zum öffnen der Verschachtelungen, einen Code ausführen will und ihm die Daten des Angeklickten Nodes übergeben will!
Wie muss ich das jetzt im onInputProcessing Handler programmieren? ich hab es folgendermaßen probiert:

Code: Alles auswählen.


* event handler for checking and processing user input and
* for defining navigation
CLASS cl_htmlb_manager DEFINITION LOAD.

* Optional: test that this is an event from HTMLB library.
IF event_id = cl_htmlb_manager=>event_id.

* See if upload is triggered from button
  DATA: event TYPE REF TO cl_htmlb_event.
  event = cl_htmlb_manager=>get_event( runtime->server->request ).
  IF event->name = 'tree' AND event->event_type = 'click'.
    DATA: tree_event TYPE REF TO cl_htmlb_event_tree.
    tree_event ?= event.
  ENDIF.

  CASE event->id.

    WHEN 'cattree'.

aber wie bekomm ich jetzt die daten aus dem angeklickten Node? Kann mir wer bitte helfen?


vielen Dank im vorraus, falls wer nicht verstanden hat was ich überhaupt will (ich kann mich dazu grad irgendwie schlecht ausdrücken*g* einfach nochmal nachfragen bitte!)

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


Beitrag von Karina ( / / 0 / 3 ) »
Weiss niemand wie ich die Werte des angeklickten Nodes kriege??? :( :( :(

Beitrag von vvursT (ForumUser / 72 / 0 / 0 ) »
also eigentlich bin ich anfänger aber ich versuchs mal.
du hast du in jedem element die parent id. greife auf die zu und erzeuge somit eine referenz auf den ast/die äste. dann die daten abgreifen.
hört sich einfach an, ist aber so :/

Beitrag von Karina ( / / 0 / 3 ) »
ja schon, aber wie kann ich auf die parent id? bei anderen htmlb feldern muss man ja mit ner methode ( GET_DATA ) die daten holen... aber die htmlb tree klasse hat keine GET_DATA methode :(

Beitrag von TABAP ( / / 0 / 3 ) »
Hallo,

meinst Du sowas:

Code: Alles auswählen.

class cl_htmlb_manager definition load.
if event_id = cl_htmlb_manager=>event_id.
  event = cl_htmlb_manager=>get_event( runtime->server->request ).

  if event is not initial and event->name = htmlb_events=>tree.
    data: tree_event type ref to cl_htmlb_event_tree.
    tree_event ?= event.
    case tree_event->name.
      when 'tree'.
        read table <name der tabelle mit treedaten> 
               into <wa> with key nodeid = tree_event->node.
        if sy-subrc = 0.
*
*
*
        endif.
    endcase.
  endif.
endif.


Gruß
TABAP

Beitrag von Karina ( / / 0 / 3 ) »
Hallo!

Grundsätzlich mein ich genau das!! bei mir sieht das jetzt so aus:

Code: Alles auswählen.


* event handler for checking and processing user input and
* for defining navigation
class cl_htmlb_manager definition load.

* Optional: test that this is an event from HTMLB library.
if event_id = cl_htmlb_manager=>event_id.

* See if upload is triggered from button
  data: event type ref to cl_htmlb_event.
  event = cl_htmlb_manager=>get_event( runtime->server->request ).
  if event->name = 'tree' and event->event_type = 'click'.
    data: tree_event type ref to cl_htmlb_event_tree.
    tree_event ?= event.
  endif.

* htmlb event
  case event->id.

    when 'cattree'.
    
        data: lt_treetab type tview,
        wa_tab like line of lt_treetab.

        read table lt_treetab
               into wa_tab with key childid = tree_event->node.
        if sy-subrc = 0.

        endif.


lt_treetab ist mein tree baum im layout... aber er übergibt die daten nicht an den eventhandler, d.h. lt_treetab ist leer :(

habe lt_treetab auch als attribut definiert!
muss da nicht noch ein get_data vom htmlb oder ähnliches her?

Beitrag von vvursT (ForumUser / 72 / 0 / 0 ) »
arbeitest du vielleicht stateless ?
kann man wenn du auf die applikation selber gehst einstellen (im register "eigenschaften")
oder du liest die tab im inputprocessing einfach nochmal ein.

Beitrag von Korbi ( / / 0 / 3 ) »
Hallo zusammen,

ich habe ein aehnliches Problem wie Karina! Bin aber dank der Tipps in diesem Thread schon ein ganzes Stueck weiter gekommen.

Ich habe aber leider noch das Problem, dass ich keine korrekte Referenz auf meine Knoten bekomme.

Code: Alles auswählen.

data: wa_tab type tviewnode.
data: tree_event type ref to cl_htmlb_event_tree.

  read table tab
    into wa_tab with key childid = tree_event->node.
D.h: Meine Tabelle ist laut Debugger ordnungsgemaess gefuellt! Wenn ich jedoch im Debugger den Wert von tree_event->node abrufen will, kommt lediglich der Hinweis '*** illegal reference ***'!

Vielleicht hat von Euch jemand eine Idee was ich falsch mache!

Viele Gruesse und schon mal Danke im Voraus!
Korbi

Beitrag von vvursT (ForumUser / 72 / 0 / 0 ) »
also vielleicht ist es ähnlich wie beim tableview:
irgendwie sowas:
ich weiss aber eventuell manche bezeichnungen nicht aber von der logik her müsste es stimmen.

Code: Alles auswählen.

    IF  event             IS NOT INITIAL
    AND event->event_type = 'cellClick'.
      tree_event ?= event.

***   REFERENZ VON tv auf tree Objekt
      tv ?= cl_htmlb_manager=>get_data(
               request =  runtime->server->request
               name    = 'DeinTree'
               id      = 'TreeID' ).
***   REFERENZ AUF DIE TV DATEN
      tree_event = tv->data.

Seite 1 von 1

Vergleichbare Themen

6
Antw.
5373
Views
EDIT: Tree Problem, bekomme DUMP
von MarkusW » 19.04.2007 11:32 • Verfasst in ABAP Objects®
3
Antw.
1926
Views
Problem bei der Tree-Darstellu ng einer Hierarchie
von khb » 12.10.2018 13:20 • Verfasst in ABAP® für Anfänger
3
Antw.
3965
Views
Doku über ALV Tree / SAP Tree
von SkyHobbit » 14.06.2005 11:56 • Verfasst in ABAP® für Anfänger
6
Antw.
9568
Views
ALV Tree / List Tree?
von wega83 » 02.04.2012 16:06 • Verfasst in ABAP® Core
0
Antw.
1486
Views
CSS-Klasse von htmlb:Link
von Gast » 11.08.2005 10:53 • Verfasst in Web-Dynpro, BSP + BHTML

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

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.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
vor 2 Tagen von Bright4.5 1 / 753
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2377
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8962