Einzelnen Beitrag anzeigen

Onkelrossie

Registriert seit: 7. Aug 2006
43 Beiträge
 
Delphi 7 Architect
 
#1

ListView nach VirtualStringTree

  Alt 7. Aug 2006, 13:58
Hallo liebe DP'ler ,
ich habe ein großes Problem eine ListView in den VirtualStringTree zu übertragen.
Dabei sollen auch gleich ein paar Details verbessert werden. Das übertragen der
Header funktioniert schon aber der Rest fällt mir sehr schwer da ich mit dem
VirtualStringTree nicht sehr vertraut bin. Ich habe zwar schon ein paar sachen
über VirtualStringTree hier im Forum gelesen, werde aber daraus nicht schlauer bzw.
habe ich kaum etwas gefunden was mir für mein Vorhaben hilft.
Ich kann nur auf euch in der DP hoffen das sich irgend ein VST Guru findet der
mir helfen kann.

Hier erstmal eine Skizze wie es bis jetzt in meiner ListView aussieht und wie es in etwa
dann in dem VirtualStringTree aussehen soll (wegen der Formatierung in Delphi-Tags):

Delphi-Quellcode:
So sieht es jetzt aus in meiner ListView:

Art. Name| Art.Nr. | Preis | Datum    
=========================================
Artikelx | ArtikelNr.1 | 1,00€ | 07.08.06}
Artikely | ArtikelNr.2 | 1,00€ | 07.08.06} Artikelgruppe 1 (weil artikel name gleich anfängt)
Artikelz | ArtikelNr.3 | 1,00€ | 07.08.06}

Ware1 | EAN:1234567 | 2,00€ | 07.08.06}
Ware2a | EAN:7654321 | 2,00€ | 07.08.06} Artikelgruppe 2 ...
Ware2b | EAN:0000000 | 2,00€ | 07.08.06}

So wollte ich es machen im VirtualStringTree:

Art. Name | Art.Nr. | Preis | Datum <---Header einlesen geht schon wunderbar
============================================
+-Artikel |ArtikelNr. |1,00€ |07.08.06 <---RootNode*
| └Artikelx | ArtikelNr.1 | 1,00€ | 07.08.06
| └Artikely | ArtikelNr.2 | 1,00€ | 07.08.06 <---SubNodes**
| └Artikelz | ArtikelNr.3 | 1,00€ | 07.08.06
+-Ware |EAN: |2,00€ |07.08.06
  └Ware1 | EAN:1234567 | 2,00€ | 07.08.06
  └Ware2a | EAN:7654321 | 2,00€ | 07.08.06
  └Ware2b | EAN:0000000 | 2,00€ | 07.08.06
*Der RootNode ergibt sich aus dem ersten Eintrag der jeweiligen Artikelgruppe abzüglich der
unterschiede im Namen. Also z.B. Artikelx, Artikely, Artikelz -> Artikelx ist der
erste Eintrag seiner Artikelgruppe -> Artikelx unterscheidet sich von Artikely und Artikelz
durch das letzte Zeichen im Namen (x) also entferne das x => 'Artikel' als RootNode schreiben.

**Alle einträge der jeweiligen Artikelgruppe aus der Listview übertragen
und als SubNodes der jeweiligen RootNode zuordnen. Also kurz gesagt 1:1 aus der ListView
übernehmen und als SubNodes in den VirtualStringTree schreiben.


Ich hoffe ich konnte Problem verständlich beschreiben.
Für jede Hilfe bin ich sehr Dankbar.


grüße aus Hamburg

Onkelrossie
  Mit Zitat antworten Zitat