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/)
-   -   ListView(Ownerdata) Item selektieren... (https://www.delphipraxis.net/173470-listview-ownerdata-item-selektieren.html)

FritzAT 26. Feb 2013 16:13


ListView(Ownerdata) Item selektieren...
 
Hallo!
Habe einen Zeitraffer zu erstellen und da fallen mehrere Tausend Dateien an, die in ein
Listview eingelesen werden sollen(funktioniert wunderbar(500 000 Dateien in 812 msek)).
Jetzt meine FRAGE zum Thema:
1: wie markiere ich ein Item...
2: wie lösche ich ein Item...(glaube in der Datenliste(
type TFdata = record
RName: String;
RPfad: String;
RDatum: String;
RAbmes: String;
end; ) ein Item 'löschen' und wieder neu in die Listview schreiben????)

Kommt mir aber ein bisschen sehr umständlich vor!!!

Die Daten werden folgenderweise in die LV1(ListView) geschrieben.
Delphi-Quellcode:
procedure TForm1.LV1Data(Sender: TObject; Item: TListItem);
begin
  Item.Caption:= FData[Item.Index].RName;
  Item.SubItems.Add(FData[Item.Index].RDatum);
  Item.SubItems.Add(FData[Item.Index].RPfad);
  Item.SubItems.Add(FData[Item.Index].RAbmes);
end;

  LV1.Items.Count:= ic;
Mit der BITTE um Hilfe bzw ein paar Zeilen Code....

Furtbichler 27. Feb 2013 07:16

AW: ListView(Ownerdata) Item selektieren...
 
Na, Du markierst ein Item, indem Du es anklickst.
Mit
Delphi-Quellcode:
ListView.Selected
bekommst Du das markierte/selektierte Item heraus (sofern
Delphi-Quellcode:
Listview.MultiSelect := False
ist).

Und Du löschst einen Eintrag, indem Du ihn aus deiner Liste einfach entfernst und pre
Delphi-Quellcode:
ListView.Count := MeineListe.Count
die Anzahl neu setzt.

FritzAT 28. Feb 2013 16:37

AW: ListView(Ownerdata) Item selektieren...
 
Hallo!
Danke für die Antwort!
Das mit dem löschen hatte ich mir in etwa so gedacht - Danke

Markieren...
Ich habe nicht gemeint mit der Maus oder so...
Per Code meinte ich, habe es probiert
Die Markierung per Code funktioniert nicht...???
z.Bsp.
Ich markiere 2 Listeinträge...(multiselect ist eh klar...)
will die Markierung danach umkehren(wie im Explorer(XP)...))
Es sind danach alle anderen Markiert...

Volker Z. 28. Feb 2013 21:26

AW: ListView(Ownerdata) Item selektieren...
 
Hallo,

wenn Du die bestehende Markierung umkehren willst, dann kannst Du es mit folgendem Code versuchen
Delphi-Quellcode:
try
  Listview.Items.BeginUpdate;
  for i := 0 to Listview.Items.Count - 1 do
    Listview.Items [i].Selected := not Listview.Items [i].Selected;
finally
  Listview.Items.EndUpdate
end
Gruß

FritzAT 2. Mär 2013 07:33

AW: ListView(Ownerdata) Item selektieren...
 
Hallo!

Danke für die Antwort.

Aber ist das nicht bei der "normale" ListView????
Ich hab eine "ownerdata" Listview und mit der kann
ich mit z.bsp. mit LV1.selectall auch nichts erreichen....?????????????:(
(Multiselect:= True)

Vielleicht eine kurze Erklärung wie man einzelne items anspricht und
deren Eigenschaften ändert.
Die Listview(Ownerdata) ist sehr schlecht bis garnicht in der Hilfe beschrieben.
Google findet auch nur sehr wenig über die Ownerdata-Listview(wie man sie handhabt)....
Vielleicht weis einer von EUCH wies geh't
Ein Danke im voraus

Keldorn 2. Mär 2013 08:41

AW: ListView(Ownerdata) Item selektieren...
 
Hallo

da ich das auch immer wieder gern vergesse ;-): Listview.hideselection steht auf false? Standard ist true und da siehst du nix, wenn du per code etwas selektieren willst und das LV keinen Focus hat.

Listitem.makevisible kannst du Dir auch noch anschauen, um zum Item zu scrollen.

gruß Frank

FritzAT 2. Mär 2013 09:47

AW: ListView(Ownerdata) Item selektieren...
 
Ein :cheers: an Keldorn
Habe diese Option bisher komplet ignoriert(war wahrscheinlich immer optimal eingestellt)

Auf alle fälle klappt jetzt alles wunderbar.
Nocheinmal ein herzliches danke und :hi:


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz