Hallo,
ich nutze ein Tree ALV in meinem Programm. Leider hat das Tree ALV standardmäßig keine Buttons zum Filtern und Sortieren. Ich suche nun nach einer Möglichkeit dies selbst zu bauen.
Die Buttons einzufügen ist ja kein Problem, nur stellt sich mir die Frage ob es nciht einen FuBa gibt der genau die gleichen Popups usw. wirft wie bei dem normalen ALV Filter button.
dkast hat geschrieben:Leider hat das Tree ALV standardmäßig keine Buttons zum Filtern und Sortieren.
Dies hat wohl auch seinen Grund.
Wie willst du denn einen Tree filtern? Wenn du mittendrin einen Zweig filterst, hast du evtl. Kinder die darunter hängen. Was machst du mit diesen?
Analog das Sortieren. Du musst immer die Baumstruktur aufrecht erhalten, wie soll man da sinnvoll sortieren können?
Vorab: ich vermute, Du verwendest den CL_GUI_ALV_TREE(_SIMPLE).
Zur Sortierung:
Die wird beim ALV-Tree ja bereits durch die Gruppierung (also die Felder im "Tree-Teil") des ALV-Tree vorgegeben. Aus meiner Sicht macht eine Sortierung daher keinen Sinn.
Zur Filterung:
Ich vermute, Du suchst den Baustein "LVC_FILTER". Den musst Du mit einem Feldkatalog, einem Layout sowie der Ausgabetabelle füttern, er sorgt für die ganzen Dialoge und gibt Dir dann die Filtertabelle zurück.
Wie JHM schon anmerkte solltest Du Dir bei der eigentlichen Filterung dann Gedanken machen, was Du mit Ästen des Trees machst, die zwar eigentlich gemäß Filterbedingungen angezeigt werden sollen, aber Kinder von gefilterten Ästen sind. Du müsstest Dir also jeweils die aktuellen Sortierbedingungen via GET_HIERARCHY holen und diese dann mit dem Filter abgleichen. Ein wenig aufwändig, sollte aber funktionieren.