![]() |
TreeView - Daten gruppieren
Hallo,
ich habe eine Funktion, die Daten aus der DB ausliest. Das Auslesen aus der DB und Anzeigen im TreeView funktioniert soweit. Im TreeView sehen meine Daten folgendermaßen aus: 2000 --Xyz ----Test 2000 --Abc ----Test1 2000 --Abc ----Test2 Ich möchte aber, dass es folgendermaßen aussieht 2000 --Xyz ----Test --Abc ----Test1 ----Test2 Kann mir da jemand weiter helfen Vielen Dank im Voraus Ayumi
Delphi-Quellcode:
function TDataModule1.fuelleTreeView( var TreeView1: TTreeView):boolean;
var i : integer; VkampagneRec : PKampagneRec; vJahrTreeNode : TTreeNode; vKundeTreeNode : TTreeNode; vProduktTreeNode : TTreeNode; vKampagneTreeNode : TTreeNode; vMutterTreeNode : TTreeNode; begin try vMutterTreeNode := nil; begin with ADODataSet1 do begin close; CommandType := cmdText; CommandText := 'select ' + 'decode (to_char(max(a.sttmact), ''yyyy''), '''', ''unbekannt'', to_char(max(a.sttmact), ''yyyy'')) Jahr, ' + 'c.advert, c.product, c.ccamp, c.icamp ' + 'from campaign c, actions a ' + 'where c.ccamp = a.ccamp(+) ' + 'group by c.ccamp, c.icamp, c.product, c.advert ' + 'order by jahr, c.advert, c.product, c.icamp'; Open; First; end; while not ADODataSet1.Eof do begin new(vKampagneRec); //datum, kunde, produkt, kampagne aus der Datenbankselektion lesen vKampagneRec^.rec_Jahr := ADODataSet1.FieldByName('Jahr').AsString; vKampagneRec^.rec_Kunde := ADODataSet1.FieldByName('advert').AsString; vKampagneRec^.rec_produkt := ADODataSet1.FieldByName('product').AsString; vKampagneRec^.rec_kampagne := ADODataSet1.FieldByName('icamp').AsString; vJahrTreeNode:=TreeView1.Items.AddObject(vMutterTreeNode,ADODataSet1.FieldByName('Jahr').AsString, vkampagneRec); vKundeTreeNode := TreeView1.Items.AddChildObject(vJahrTreeNode, ADODataSet1.FieldByName('advert').AsString, vKampagneRec); vProduktTreeNode := TreeView1.Items.AddChildObject(vKundeTreeNode, ADODataSet1.FieldByName('product').AsString, vKampagneRec); vKampagneTreeNode := TreeView1.Items.AddChildObject(vProduktTreeNode, ADODataSet1.FieldByName('icamp').AsString, vKampagneRec); ADODataSet1.next; end; result := true; end; except begin result := false; end; end; end; |
Re: TreeView - Daten gruppieren
Was stimmt mit
![]() |
Re: TreeView - Daten gruppieren
was ich machen muss, ist mir schon klar. Ich weiß nur nicht wie ich es umsetzen kann. Ansonsten ist an der Antwort nichts auszusetzen.
|
Re: TreeView - Daten gruppieren
Na dann frag doch erstmal da weiter. Jetzt diskutieren wir hier an zwei Enden und keiner weiß, was im anderen Foruzm schon besprochen wurde.
|
Re: TreeView - Daten gruppieren
Delphi-Quellcode:
das sollte helfen! mal so ins blaue getippt!
..
// finde node mit namen node:=node.getfirstnode; while (node=nil) or (node.text=name) node:=node.getnextsibling; ... |
Re: TreeView - Daten gruppieren
Moin,
ich habe den Code erstmal aufgeräumt... Zitat:
Aber mal ne ganz andere Frage, alle Knoten auf dem Weg zum Blatt bekommen den selben vKampagneRec. Dann gibt es doch keine Unterscheidung mehr und wie soll das beim Zusammenfassen gehen? Wird der reservierte Speicher überhaupt wieder richtig freigegeben? Dann müsste es bei dir nur so Zugriffsverletzungen hageln. Oder merkst du dir alle Zeiger und schaust, ob du den Zulöschenden vielleicht schon freigegeben hast? MfG Thorsten |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz