Delphi-PRAXiS
Seite 3 von 5     123 45      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   DBGrid und Touchscreen (https://www.delphipraxis.net/155207-dbgrid-und-touchscreen.html)

noisy_master 13. Okt 2010 14:41

AW: DBGrid und Touchscreen
 
Zitat:

Zitat von GHorn (Beitrag 1055595)
Das würde ich DBGrid.OnClick genauso verarbeiten.

Ist dann nur schwierg zu entscheiden ob ich für BOF oder EOF testen soll, oder sehe ich da was falsch?

GHorn 13. Okt 2010 14:46

AW: DBGrid und Touchscreen
 
Einfach beide Richtungen abfragen:

Delphi-Quellcode:
   DBGrid.DataSource.DataSet.DisableControls;
   // BOF:
   DBGrid.DataSource.DataSet.Prior;
   Btn_UP.Enabled := (NOT DBGrid.DataSource.DataSet.BOF);
   DBGrid.DataSource.DataSet.Next;
   // EOF:
   DBGrid.DataSource.DataSet.Next;
   Btn_Down.Enabled := (NOT DBGrid.DataSource.DataSet.EOF);
   DBGrid.DataSource.DataSet.Prior;
   DBGrid.DataSource.DataSet.EnableControls;

Bummi 13. Okt 2010 14:49

AW: DBGrid und Touchscreen
 
Runscrollen muß IMHO nicht sein.
Ist 10 jahre her daß ich mich mit der BDE rumschlagen mußte
aber gab es da nicht DbiGetNextRecord, DbiGetPriorRecord gegf. in der DBTables nachschlagen. und Googlen

GHorn 13. Okt 2010 14:58

AW: DBGrid und Touchscreen
 
Ja schon, das gibt's auch. Wenn ich mich recht erinnere (ist
für mich auch schon etliche Monde her) wird dabei der nächste
Datensatz komplett eingelesen und der jeweilige DS ist aktiv.
Da passiert dann noch mehr als beim einfachen Skippen, oder?

stahli 13. Okt 2010 15:11

AW: DBGrid und Touchscreen
 
Als Notlösung könnte man evtl. von Hand mitzählen.
Die RecordCounts sind ja bekannt und wenn das Scrollen NUR über Buttons geht, kann man die Position mitzählen...
Delphi-Quellcode:
Inc(Position, 3)

(RecNo unter den Umständen wird schwierig werden.)

noisy_master 13. Okt 2010 15:31

AW: DBGrid und Touchscreen
 
Zitat:

Zitat von stahli (Beitrag 1055603)
Als Notlösung könnte man evtl. von Hand mitzählen.
Die RecordCounts sind ja bekannt und wenn das Scrollen NUR über Buttons geht, kann man die Position mitzählen...
Delphi-Quellcode:
Inc(Position, 3)

(RecNo unter den Umständen wird schwierig werden.)

Da Hast du recht kann man machen ist aber tatsächlich nur möglich wenn nur die Buttons benutzt werden. Da der User aber auch direkt auf dem Grid auswählen können soll wird das leider nichts!!!

noisy_master 13. Okt 2010 15:40

AW: DBGrid und Touchscreen
 
Bisher echt schöne Antworten von GHorn:thumb:
Das einzige, was mich daran noch stört ist das "herumscrollen" Wenn das nur irgendwie schöner ginge...(ist ja wohl auch nicht ganz so performant)?!?

Jetzt noch die letzte Klinke :

Wenn ich nun noch gerne die anzeige Datensatz x /y haben möchte...? y ist klar : RecordCount, aber x? RecNo geht ja nun nicht(wie schon in den vorigen Posts angesprochen)

Gibt's da nicht auch was von Ratiopharm äähh BDE?

stahli 13. Okt 2010 15:46

AW: DBGrid und Touchscreen
 
Ok, dann sind die Buttons vielleicht doch überflüssig!?

Vielleicht noch etwas dreckiger: :-D
Du könntest die Position beim Zeichnen der Zellen ermitteln. Entweder hast Du Direkt ein Feld mit einer "RecordNummer" oder Du prüfst (wenn Du einen eindeutigen Sortwert hast) mit einem SQL-Select, ob bei der letzten Grid-Darstellung der erste oder letzte Datensatz gezeichnet wird/wurde.

noisy_master 13. Okt 2010 15:51

AW: DBGrid und Touchscreen
 
Zitat:

Zitat von stahli (Beitrag 1055613)
Ok, dann sind die Buttons vielleicht doch überflüssig!?

Vielleicht noch etwas dreckiger: :-D
Du könntest die Position beim Zeichnen der Zellen ermitteln. Entweder hast Du Direkt ein Feld mit einer "RecordNummer" oder Du prüfst (wenn Du einen eindeutigen Sortwert hast) mit einem SQL-Select, ob bei der letzten Grid-Darstellung der erste oder letzte Datensatz gezeichnet wird/wurde.

Sorry, aber : ?????

GHorn 13. Okt 2010 15:53

AW: DBGrid und Touchscreen
 
Performanz hängt von mehr als nur dem Scrollen ansich ab.
Da spielt die verbaute Hardware auch eine Rolle. Außerdem
scrollst du ja nicht durch 100e DS. Immer nur einen Schritt
vor und einen zurück und umgekehrt. :)
Aber das musst du selber testen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:37 Uhr.
Seite 3 von 5     123 45      

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