Obsługa kliknięcia w pusty rekord w ListView - FMX.

0

Witam,
w komponencie Listview dodaję rekordy z bazy.
Jeśli posiadam 2 rekordy to Listview jest pusty na dole.
Gdy kliknę w puste miejsce zaznacza mi się niepożądanie ostatni rekord (przez co użytkownik przejdzie w miejsce gdzie wskazuje ostatni rekord, czego bym nie chciał).
Jak mogę temu zapobiec (Kliknięcie w puste miejsce w Listview nie zaznacza ostatniego rekordu)?

0

Google mówi że to "błąd" TListView i chyba nic się z tym nie da zrobić poza modyfikacją i ponowną kompilacją pliku źródłowego FMX.ListView.pas (nie trzeba modyfikować oryginału wystarczy dodać zmodyfikowany plik do projektu)
W procedurze FindItemAbsoluteAt (linia 4060 ale to na pewno zależne od wersji Delphi) zmienia się:

if ViewAt >= HeightSums[HeightSums.Count - 1] then
  Exit(HeightSums.Count - 1)

na:

 if ViewAt >= HeightSums[HeightSums.Count - 1]+GetItemHeight(HeightSums.Count-1) then
   Exit(-1);

Oryginalny artykuł:
https://pjstrnad.com/another-fix-delphi-code-click-listview/

PS: Pisz ze chodzi o FMX bo przecież nie zawsze i nie każdy się domyśli.

1 użytkowników online, w tym zalogowanych: 0, gości: 1