AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Lazarus TDBGrid Scrol funktion
Thema durchsuchen
Ansicht
Themen-Optionen

Lazarus TDBGrid Scrol funktion

Ein Thema von manfred_h · begonnen am 13. Nov 2015 · letzter Beitrag vom 16. Nov 2015
Antwort Antwort
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.739 Beiträge
 
Delphi 6 Enterprise
 
#1

AW: Lazarus TDBGrid Scrol funktion

  Alt 13. Nov 2015, 11:38
Gibt es den generell eine Routine oder sowas, dass die Felder in den Edits füllt, wenn du im Grid was auswählst? Wie machst du das? Denn wenn das normale DBEdits sind, die an der selben DataSource hängen wie beim Grid, dann muss doch beim Datensatzwechsel nichts nachgeladen werden.
Ralph
  Mit Zitat antworten Zitat
manfred_h

Registriert seit: 4. Nov 2005
Ort: Basel
442 Beiträge
 
Delphi XE2 Enterprise
 
#2

AW: Lazarus TDBGrid Scrol funktion

  Alt 13. Nov 2015, 12:30
Denn wenn das normale DBEdits sind, die an der selben DataSource hängen wie beim Grid, dann muss doch beim Datensatzwechsel nichts nachgeladen werden.
Es sind ganz normale DBEdits und es wird auch alles automatisch nachgeladen. Ich möchte aber das die DBEdits erst geladen werden wenn ich einen Eintrag im DBGrid anwähle.
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#3

AW: Lazarus TDBGrid Scrol funktion

  Alt 13. Nov 2015, 12:40
Verstehe ich nicht: Genau das passiert doch, wenn du einen Eintrag im DBGrid anwählst – vorausgesetzt, DBGrid und DBEdits hängen am selben DataSource. Sobald eine Datenmenge aktiv ist, existiert auch ein Datensatz-Zeiger. Gewöhnlich zeigt der beim Aktivieren einer Datenmenge auf den ersten Record, also den Record mit der RecNo 1. Was also meinst du genau, wenn du schreibst: "... wenn ich im Grid Scrolle wird sofort der nächste Datensatz geladen." Das ist doch genau das Verhalten, das du hier forderst:

Ich möchte aber das die DBEdits erst geladen werden wenn ich einen Eintrag im DBGrid anwähle.


Das Scrollen im DBGrid entspricht einer Weiterbewegung des Datensatzes. Wenn du ein anderes Verhalten wünschst, dann mußt du auf DBGrid verzichten und StringGrid verwenden. Oder du bastelst dir dein eigenes DBGrid, das beim Scrollen keinen Datensatzwechsel auslöst.

Wenn es dir jedoch lediglich darum geht, unnötigen Traffic zu vermeiden, dann halte die erforderliche Datenmenge im Speicher vor. Gewöhnlich gibt es dafür das Property FetchAll im jeweiligen TQuery oder TDataSet: Damit holst du alle Datensätze auf einmal ab. Voraussetzung ist natürlich, daß du über ausreichend Ram verfügst.
  Mit Zitat antworten Zitat
manfred_h

Registriert seit: 4. Nov 2005
Ort: Basel
442 Beiträge
 
Delphi XE2 Enterprise
 
#4

AW: Lazarus TDBGrid Scrol funktion

  Alt 13. Nov 2015, 13:26
Zitat:
Das ist doch genau das Verhalten, das du hier forderst:
Mit anwählen meinte ich einen Mausklick.. Sorry das war leider zu ungenau..
Das StringGrid wäre dann eine Variante. Dachte mir nur wenn sich da "normale" verhalten des DBGrid das beim scrollen automatisch der Datensatz-Zeiger "mit bewegt" wird anpassen liesse wäre es ein schritt weniger..
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#5

AW: Lazarus TDBGrid Scrol funktion

  Alt 13. Nov 2015, 16:22
Jetzt sag doch mal: Ging es dir nicht in erster Linie darum, unnötigen Traffic zu vermeiden, weil die Datenbank ja nur über eine Internetverbindung erreichbar ist? Zumindest hatte ich den Eindruck, da du ja oben im Eingangsposting geschrieben hast: "Das ist bei einer lokalen DB ok aber hier weniger." Dann wäre die Sache mit dem datenzeigerbewegenden DBGrid nämlich wurscht, weil du dann andere Lösungen ins Auge fassen könntest.
  Mit Zitat antworten Zitat
manfred_h

Registriert seit: 4. Nov 2005
Ort: Basel
442 Beiträge
 
Delphi XE2 Enterprise
 
#6

AW: Lazarus TDBGrid Scrol funktion

  Alt 13. Nov 2015, 16:45
Jetzt sag doch mal: Ging es dir nicht in erster Linie darum, unnötigen Traffic zu vermeiden, weil die Datenbank ja nur über eine Internetverbindung erreichbar ist?
Ja dem ist so.

Zitat:
Dann wäre die Sache mit dem datenzeigerbewegenden DBGrid nämlich wurscht, weil du dann andere Lösungen ins Auge fassen könntest
Was für eine andere Lösung denn?
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#7

AW: Lazarus TDBGrid Scrol funktion

  Alt 13. Nov 2015, 19:34
Was für eine andere Lösung denn?
Fragst du das jetzt im Ernst? Hatte ich oben doch bereits beschrieben:

Wenn es dir jedoch lediglich darum geht, unnötigen Traffic zu vermeiden, dann halte die erforderliche Datenmenge im Speicher vor. Gewöhnlich gibt es dafür das Property FetchAll im jeweiligen TQuery oder TDataSet: Damit holst du alle Datensätze auf einmal ab. Voraussetzung ist natürlich, daß du über ausreichend Ram verfügst.
Jetzt zitiere ich mich schon selber
  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 01:09 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