AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Listview scrollen iOs

Ein Thema von eddie11 · begonnen am 17. Okt 2013 · letzter Beitrag vom 18. Okt 2013
Antwort Antwort
eddie11

Registriert seit: 8. Nov 2005
Ort: Zossen bei Berlin
236 Beiträge
 
Delphi XE8 Professional
 
#1

Listview scrollen iOs

  Alt 17. Okt 2013, 16:59
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 ?
Edgar Leifeld
Liebe Grüße aus Zossen bei Berlin

Die Kontramedüse ist verdrupelt!!!
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#2

AW: Listview scrollen iOs

  Alt 17. Okt 2013, 19:53
Das könnte vielleicht was für Dich sein http://docwiki.embarcadero.com/Libra....ScrollViewPos
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.143 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Listview scrollen iOs

  Alt 17. Okt 2013, 21:15
Ich hab das so gelößt:

Delphi-Quellcode:
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;
Mavarik
  Mit Zitat antworten Zitat
eddie11

Registriert seit: 8. Nov 2005
Ort: Zossen bei Berlin
236 Beiträge
 
Delphi XE8 Professional
 
#4

AW: Listview scrollen iOs

  Alt 18. Okt 2013, 08:05
Danke, aber Scrollviewpos gibt mir die obere Position des Scrollbalkens an. Was ich bräuchte wäre ja die untere Position.
Edgar Leifeld
Liebe Grüße aus Zossen bei Berlin

Die Kontramedüse ist verdrupelt!!!
  Mit Zitat antworten Zitat
eddie11

Registriert seit: 8. Nov 2005
Ort: Zossen bei Berlin
236 Beiträge
 
Delphi XE8 Professional
 
#5

AW: Listview scrollen iOs

  Alt 18. Okt 2013, 08:07
Ich hab das so gelößt:

Delphi-Quellcode:
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;
Mavarik
Danke, aber das sagt mir leider garnichts - ich weiß nicht wie ich das zu interpretieren habe. Kannst Du das vielleicht erläutern?
Edgar Leifeld
Liebe Grüße aus Zossen bei Berlin

Die Kontramedüse ist verdrupelt!!!
  Mit Zitat antworten Zitat
eddie11

Registriert seit: 8. Nov 2005
Ort: Zossen bei Berlin
236 Beiträge
 
Delphi XE8 Professional
 
#6

AW: Listview scrollen iOs

  Alt 18. Okt 2013, 08:56
ok, habs so gelöst:

Code:
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;
Der Hinweis von bezüglich "ScrollviewPos" hat den richtigen Anstoss gegeben, Danke
Edgar Leifeld
Liebe Grüße aus Zossen bei Berlin

Die Kontramedüse ist verdrupelt!!!
  Mit Zitat antworten Zitat
Antwort Antwort


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 20:29 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