Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DBGrid "Zebra"-färben ohne Dataset.RecNo? (https://www.delphipraxis.net/108045-dbgrid-zebra-faerben-ohne-dataset-recno.html)

bisenegger 6. Feb 2008 21:25

Datenbank: Pervasive • Version: 9.52 • Zugriff über: PDAC

DBGrid "Zebra"-färben ohne Dataset.RecNo?
 
Das Einfärben eines DBGrid wurde hier ausfürlich behandelt.

Aber alle Methoden greifen auf RecNo von Datasource zu.
Meine Datenbank liefert (im Query -1 und) im Datasource bei jedem Datensatz RecNo=0
Somit sind dann alle Zeilen eingefärbt.

Kann man wirklich nicht die aktuelle Zeilennummer des DBGrid's auslesen?

Beni

PS: Ich weiss das es Kompo's wie Infopower, Raise, etc.. zu kaufen gibt und steht hier nicht zur Diskussion

alzaimar 6. Feb 2008 21:30

Re: DBGrid "Zebra"-färben ohne Dataset.RecNo?
 
Ungetestet: Im OnPaint/OnDrawCell über die Koordinaten des Rechteckes, also in etwa so:
Delphi-Quellcode:
Zeilennummer := Rect.Top div MyGrid.RowHeight
Keine Ahnung, ob es die Eigenschaft 'Rowheight' gibt, aber ich meine die Höhe einer Zeile. Über die Recno des Datensatzes ist es aber auch blöd, weil ja dann beim Scrollen die Zeilen alternierend eingefärbt werden. 1.Zeile = Reco:0 => Weiss, 1x scrollen: 1.Zeile = Recno:1 => grau...

raiguen 7. Feb 2008 12:39

Re: DBGrid "Zebra"-färben ohne Dataset.RecNo?
 
Gaaaaanz sicher, dass das nicht funktioniert-> :?:
Code:
 if Odd((Sender as TDBgrid).DataSource.DataSet.RecNo) then ...
Soweit ich weiss, haben alle DataSet-Komponenten (auch die abgeleiteten..) die Eigenschaft RecNo :gruebel:

bisenegger 12. Feb 2008 18:31

Re: DBGrid "Zebra"-färben ohne Dataset.RecNo?
 
Zitat:

Zitat von raiguen
Gaaaaanz sicher, dass das nicht funktioniert-> :?:
Code:
 if Odd((Sender as TDBgrid).DataSource.DataSet.RecNo) then ...
Soweit ich weiss, haben alle DataSet-Komponenten (auch die abgeleiteten..) die Eigenschaft RecNo :gruebel:

Nun es geht nicht. Da bei einer SQL-Abfrage vom Client nicht immer alle Records vom Server abgeholt werden, sondern nur die, die der Client zur Anzeige oder Verarbeitung braucht.
Nun weiss der Client gar nicht wieviele Datensätze beim Server bereitliegen. (Dynamischer Cursor)
Und so hat die Eigenschaft RecNo 0 oder -1.

marabu 13. Feb 2008 06:09

Re: DBGrid "Zebra"-färben ohne Dataset.RecNo?
 
Hallo Beni,

PDAC unterstützt REcNo schon (PvTable), aber wahrscheinlich nicht mit jedem DataSet-Typ und vielleicht auch in Abhängigkeit von den sonstigen Einstellungen der Komponente (unidirektional?). Da müsste eigentlich etwas in der Dokumentation zu stehen.

Freundliche Grüße


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:03 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