![]() |
Listview scrollen iOs
Hi allerseits,
Wenn ich ein Listview mit mehr Items fülle als auf dem Schirm angezeigt werden können, dann kann ich ja mit Wischen den anzuzeigenden Bereich verschieben. Das ist soweit klar. Wenn ich jetzt am Ende aller Items angekommen bin, dann verschiebt sich das ganze Listview kurz nach oben und flippt dann wieder nach unten. Mieine Frage: kann ich irgendwie auf dieses "am Ende ankommen" reagieren? Ich habe kein entsprechendes Event gefunden. Der Hintergrund ist folgender: ich möchte das Listview mit Daten aus einer Datenbank füllen. Es handelt sich dabei um mitunter mehrere 10tausend Datensätze. Wenn ich jetzt das Listview sofort mit allen Daten fülle, dann dauert das zu lange. Ich möchte also nur z.B. 50 Items füllen, und dann, wenn der User am Ende des Listwievs angekommen ist, sollen weitere 50 Sätze angehängt werden usw... Die einfachste Methode ist, das letzte Item mit dem Text "weiter..." zu versehen und den User darauf klicken zu lassen um weitere Datensätze zu lesen. Das finde ich allerdings nicht so elegant, besse wäre es, wenn der User davon nix mitkriegen würde, sonder alles "von selbst" geht. Hat da jemand einen Tip für mich ? |
AW: Listview scrollen iOs
Das könnte vielleicht was für Dich sein
![]() |
AW: Listview scrollen iOs
Ich hab das so gelößt:
Delphi-Quellcode:
Mavarik
procedure TGenKBII.ViewPortChange(Sender: TObject;const OldViewportPosition, NewViewportPosition: TPointF;const ContentSizeChanged: Boolean);
begin if not(FlipScroll) then exit; if MDown then begin if NewViewPortPosition.Y > OldViewPortPosition.Y then Runter := true else Runter := false; DoPage := false; end else begin if (NewViewPortPosition.Y < OldViewPortPosition.Y) and runter and not(DoPage) then begin if Seiten.ItemIndex < Seiten.Count then begin Seiten.ItemIndex := Seiten.ItemIndex + 1; DoPage := true; end; end else if (NewViewPortPosition.Y > OldViewPortPosition.Y) and not(runter) and not(DoPage) then if Seiten.ItemIndex > 0 then begin Seiten.ItemIndex := Seiten.ItemIndex - 1; DoPage := true; end; end; end; |
AW: Listview scrollen iOs
Zitat:
|
AW: Listview scrollen iOs
Zitat:
|
AW: Listview scrollen iOs
ok, habs so gelöst:
Code:
Der Hinweis von bezüglich "ScrollviewPos" hat den richtigen Anstoss gegeben, Danke
procedure TForm1.Button77Click(Sender: TObject);
var i: integer; Scrollbar: TScrollBar; begin for i := 0 to ListView1.ControlsCount-1 do begin if ListView1.Controls[i] is TScrollBar then begin Scrollbar := TScrollBar(ListView1.Controls[i]); end; end; if Scrollbar.Height+ListView1.ScrollViewPos=Scrollbar.ValueRange.Max then unten := true // hier muss dann was gemacht werden end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:40 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