AGB  ·  Datenschutz  ·  Impressum  







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

TDBGrid und ScrollBar

Ein Thema von eddy · begonnen am 26. Feb 2003 · letzter Beitrag vom 26. Feb 2003
Antwort Antwort
Benutzerbild von eddy
eddy

Registriert seit: 3. Jan 2003
Ort: Sachsen
573 Beiträge
 
Delphi 5 Professional
 
#1

TDBGrid und ScrollBar

  Alt 26. Feb 2003, 11:43
Hallo Leute,

weiß jemand, wie man direkt auf den ScrollBar eines TDBGrid zugreifen kann?

In der Art:

wert := DBGrid.ScrollBar.Position

DBGrid.ScrollBar.Max := wert


mfg
eddy
  Mit Zitat antworten Zitat
Gaius

Registriert seit: 25. Feb 2003
Ort: Frankfurt
9 Beiträge
 
Delphi 7 Enterprise
 
#2
  Alt 26. Feb 2003, 15:21
Hallo,

beim DBGrid werden die Parameter der Scrollbar über die DataSource gesetzt. D.h. die Position der ScrollBar ergibt sich aus dem aktuell ausgewähleten Datensatz in der DataSource.
Mit DataSource.Next kannst Du beispielsweise auf den nächsten Satz positionieren.
Selbst wenn Du eine Möglichkeit findest die ScrollBars direkt zu beeinflussen, wird Dir die DataSource dazwischen pfuschen.

Mein Tipp: Versuche es über die DataSource.


Tschüss
  Mit Zitat antworten Zitat
Benutzerbild von eddy
eddy

Registriert seit: 3. Jan 2003
Ort: Sachsen
573 Beiträge
 
Delphi 5 Professional
 
#3
  Alt 26. Feb 2003, 16:28
Hallo Gaius,

ich hätte wohl doch ein bischen mehr dazu sagen sollen.

Wenn man den Schieberegler des DBGrid.Scrollbar bewegt, passiert nichts, bis man los läßt. Beim Scrollen durch eine Datenbank sieht man also erst das Ergebnis, wenn man selbiges beendet.

Diesen Nachteil habe ich dadurch ausgeglichen, daß ich über den vorhandenen Scrollbar einen eigenen gelegt habe. Beim Bewegen des darin vorhandenen Schiebereglers scrollen die Datenzeilen vom DBGrid sofort über den Bildschirm. Scroll ich nicht zu schnell, kann ich sehen, wo ich mich in etwa befinde (z.B. wenn ich einen bestimmten Name suche).

DataSource und ScrollBar werden durch entspreichende Befehle miteinander gekoppelt, so daß der Schieberegler seine Position (=ScrollBar.Position) ändert, wenn mit der Maus oder der Tastatur in der DBGrid geblättert wird. Funktioniert soweit auch halbwegs vernünftig, solange ich kein Filter auf die Datenbank lege sowie beim Löschen und Hinzufügen von Datensätzen ScrollBar.Max korrigiere.

Diese zusätzlichen Aufwendungen möchte ich durch eine angepaßte DBGrid-Komponente vermeiden. Und dazu muß ich eben direkt auf die ScrollBar.Position .Min und .Max zugreifen (und natürlich auch auf Table.RecNo).

Also, weitere Vorschläge werden erbeten.

mfg
eddy
  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 03:13 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