AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi TListView - Eintrag löschen hinterlässt "Loch"
Thema durchsuchen
Ansicht
Themen-Optionen

TListView - Eintrag löschen hinterlässt "Loch"

Ein Thema von Daniel · begonnen am 31. Jul 2015 · letzter Beitrag vom 2. Aug 2015
 
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#1

TListView - Eintrag löschen hinterlässt "Loch"

  Alt 31. Jul 2015, 17:25
Moin,

die Situation ist albern - und zu meinem Leidwesen kann ich das Problem aktuell nicht besser artikulieren. Mein ListView hat einfach ein Loch.


Gegeben ist ein ListView mit beispielsweise sechs Einträgen. Nun lösche ich den vorletzten Eintrag via ListView1.Items.Delete(4) raus.
Nun erwarte ich, dass der Listview den untersten Eintrag artig nach oben verschiebt, um die entstandene Lücke zu schliessen. Das tut er in meinem Fall aber nicht. Der unterste Eintrag bleibt stehen, wo er ist.
Zuerst glaubte ich an ein Update-Problem in dem Sinne, dass die neue Situation nicht gezeichnet wird. Nein. Der ListView kann mit der Lücke umgehen - und das überraschend souverän. Selektiere ich den Eintrag VOR der Lücke und gehe mit dem Cursor nach unten, springt der Fokus völlig korrekt über die Lücke und selektiert den letzten Eintrag.
Selbst eine Größenänderung des Formulars (der Listview ist mit Align = alClient ausgerichtet) übersteht die Lücke unbeschadet. Bis hin zu den Scrollbalken, die die Lücke korrekt einberechnen, wenn ich das Form entsprechend verkleinere.

Es bleibt dabei, nach dem Löschen hat er ein Loch. Und ich dachte, der sei noch gut, den könne man noch verwenden.

Anbei ein Screenshot der verschiedenen Phasen.
listview.jpg


Vielleicht hatte ich bisher nur Glück - aber so habe ich das bisher noch nie erlebt. Kennt das jemand?


//edit:
Items.Count ist nach dem Löschen korrekt reduziert, .Invalidate/.Refresh./Paint etc. habe ich durchprobiert, .BeginUpdate und .EndUpdate ebenfalls - ohne Erfolg.
Daniel R. Wolf
mit Grüßen aus Hamburg

Geändert von Daniel (31. Jul 2015 um 17:38 Uhr)
  Mit Zitat antworten Zitat
 

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:53 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