Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TListView Gruppen Problem (XP) (https://www.delphipraxis.net/25732-tlistview-gruppen-problem-xp.html)

tschinkes 11. Jul 2004 13:30


TListView Gruppen Problem (XP)
 
Hallo,
Komme nicht mehr weiter, hab eine Listview die mit Daten aus einer datenbank gefüllt werden soll, dabei sollen die Daten sortiert unter den Gruppen erscheinen, die Gruppen sind Namen von Personen aus der Datenbank und die daten dann entsprechend auch aus der datenbank, jeweils gefiltert unter den namen der Personen. Ich schaffe es eine Gruppe zu erzeugen aber danach ist schluß.

Beispiel wie es momentan ist:

Person 1
- Datensatz 1
- Datensatz 2
- Datensatz 3
- Datensatz 4
- Datensatz 5
- Datensatz 6
usw.

Und so soll es sein:

Person 1
- Datensatz 1
- Datensatz 2
- Datensatz 3

Person 2
- Datensatz 1
- Datensatz 2
- Datensatz 3

usw.

MrKnogge 11. Jul 2004 13:33

Re: TListView Gruppen Problem (XP)
 
Worin genau liegt denn dein Problem ?
(konnt ich irgendwie nicht rauslesen :roll: )

tschinkes 11. Jul 2004 13:57

Re: TListView Gruppen Problem (XP)
 
Entschuldigung, wenn ich ein Problem habe, dann drück ich mich immer etwas komisch aus ... :gruebel:

Also, ich habe eine Listview in mein Hauptformular eingefügt (diese hat vorher ein einfaches StringGrid ersetzt), und in diese Liestview möchte ich meine Daten, die ich in meiner Datenbank gesammelt habe, anzeigen lassen, genauso wie in der Movie Sammlung aus dem XML-Tutorial. Bei mir sind folgende Felder in der Datenbank vorhanden; Vorname, Name, Titel, Artist, Datum.
Diese sollen nun in die Listview eingetragen werden und zwar wie folgt:
(Im XP Style)


Erst die Person mit Vorname und Name als Titel (soweit bin ich schon)
http://www.wellness-projekt.de/forum/bild1.jpg

dann sollen alle Daten die zu dieser Person gehören darunter angezeigt werden. Aber schon hier zeigt mir die Listview gar nix außer lauter leere Datensätze.
Und ich schaffe es nicht es hinzubekommen das alle personen mit ihren daten angezeigt werden. Bin echt neuling was die Listview betrifft.

alcaeus 11. Jul 2004 14:04

Re: TListView Gruppen Problem (XP)
 
Wie erstellst du die Gruppen und wie fügst du die Elemente hinzu?
Ich kann dir nur das Tutorial von MatthiasSimmack empfehlen:
Tile-Modus und Gruppierung von List-View-Items (WinXP) / Gruppenzwang!

In dem Beitrag ist die Vorgangsweise perfekt beschrieben.

Greetz
alcaeus

tschinkes 11. Jul 2004 14:23

Re: TListView Gruppen Problem (XP)
 
Füllen tu ich die Listview vorerst so:

Delphi-Quellcode:
// Create Group1
for i := 1 to table1.RecordCount do
  begin
    ListItem := ListView1.Items.Add;
    ListItem.SubItems.Add(qr1.FieldbyName('Artist').asString);
    ListItem.SubItems.Add(qr1.FieldbyName('Titel').asString);
    ListItem.SubItems.Add(qr1.FieldbyName('Datum').asString);
  end;
  Randomize;

  SendMessage(ListView1.Handle, LVM_ENABLEGROUPVIEW, 1, 0);
for z1 := 1 to Table1.recordcount do
 Begin
  Gruppe := StringToOleStr(Qr1['Vollname']);
  FillChar(LvGroup, SizeOf(TLVGROUP), 0);
  with LvGroup do
  begin
    cbSize := SizeOf(TLVGROUP);
    mask := LVGF_HEADER or LVGF_ALIGN or LVGF_GROUPID;
    pszHeader := Gruppe;
    cchHeader := Length(LvGroup.pszHeader);
    iGroupIdL := J;
    uAlign := LVGA_HEADER_LEFT;
  end;
  SendMessage(ListView1.Handle, LVM_INSERTGROUP, j, Longint(@LvGroup));
 end;

  for I := 0 to ListView1.Items.Count - 1 do
  begin
    with LvItemA do
    begin
      FillChar(LvItemA, SizeOf(TLvItemA), 0);
      mask := LVIF_GROUPID;
      iItem := I;
      iGroupId := J;
    end;
    SendMessage(ListView1.Handle, LVM_SETITEM, 0, Longint(@LvItemA))
  end;
Also sehr spotanisch nach Tutorial alla http://www.swissdelphicenter.ch/de/showcode.php?id=1782.

hab mir auch schon ein bissl aus dem MovieList Tutorial rausgesaugt, abber ich weiß einfach nicht wie ich es schaffe, die namen so in eine Schleife zu packen damit sie richtig angezeigt werden, und ich hab Probleme mit dem sotieren.
Dein genanntes Tutorial hab ich auch schon angeschaut, abber das ist vorerst mal ein bischen heftig viel für mich! Ich wüßte jetzt nicht wie ich da etwas für mich nutzen könnte, mit verbindung zu meiner datenbank.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:43 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