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
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.