![]() |
Delphi ListView Gruppen zusammenklappen
Hallo Leute, ich habe folgendes Problem: Ich benutze ein ListView mit verschiedenen Gruppen. Diese wiederrum beinhalten natürlich auch ein paar Elemente. Da der Anwender nicht beim Programmstart von lauter "Einträgen" erschlagen werden soll, wollte ich die ListView Gruppen beim Start direkt alle einklappen was mir leider bisher nicht gelungen ist.
Komischerweise lässt in der Design Zeit auch nicht der State der Gruppe auf lgsCollapsed ändern. Bleibt einfach false.
Delphi-Quellcode:
Obriger Code wrkt sich komischerweise auf das Listview so aus, dass die Einklappicons verschwinden....
procedure TForm1.Button1Click(Sender: TObject);
var i: Integer; begin Listview2.Groups.BeginUpdate; for i := 1 to Listview2.Groups.Count - 1 do begin Listview2.Groups[i].State := [lgsCollapsed]; end; Listview2.Groups.EndUpdate; end; Wie ist es möglich bestimmte Gruppen am besten nach eindeutiger ID einzuklappen bzw eingeklappt zu lassen. :oops: IDE Delphi 2010 |
AW: Delphi ListView Gruppen zusammenklappen
Zitat:
|
AW: Delphi ListView Gruppen zusammenklappen
Zitat:
|
AW: Delphi ListView Gruppen zusammenklappen
Vermutlich muss lgsCollapsible dann ebenfalls gesetzt werden (würde zumindest Sinn ergeben).
|
AW: Delphi ListView Gruppen zusammenklappen
Zitat:
|
AW: Delphi ListView Gruppen zusammenklappen
Jetzt hab ich doch mal mein XE angeworfen, da funktioniert es einwandfrei unter 8.1 (hat allerdings einen Darstellungsfehler: man sieht die erste Gruppe erst, wenn man die 2. einmal aufklappt).
|
AW: Delphi ListView Gruppen zusammenklappen
Zitat:
|
AW: Delphi ListView Gruppen zusammenklappen
Im anderen Thread scheint es ja eine Lösung zu geben, die an der VCL vorbei direkt mit der API arbeitet.
|
AW: Delphi ListView Gruppen zusammenklappen
Sollte tatsächlich
Delphi-Quellcode:
irgendwann mal gesetzt gewesen hätte sein könnte, dann ist das spätestens nach
lgsCollapsible
Delphi-Quellcode:
Geschichte.
Listview2.Groups[i].State := [lgsCollapsed];
Darum versuch es doch mal damit:
Delphi-Quellcode:
// setzen
Listview2.Groups[i].State := Listview2.Groups[i].State + [lgsCollapsed]; // entfernen Listview2.Groups[i].State := Listview2.Groups[i].State - [lgsCollapsed]; |
AW: Delphi ListView Gruppen zusammenklappen
Zitat:
Delphi-Quellcode:
Alle einzuklappen leider nicht.
Listview2.Groups[i].State := Listview2.Groups[i].State - [lgsCollapsed];
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:46 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