Zeilennummer in DBGrid?

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
Lion
Beiträge: 199
Registriert: Mo 24. Mär 2014, 09:58

Zeilennummer in DBGrid?

Beitrag von Lion »

Hallo Leute,

wie kann in der DBGrid in der ersten Spalte die Zeilennummer angezeigt werden? Irgendwie finde ich nichts dazu. Meine DBGrid wird von einer DataSource gespeist.

Vielen Dank1

Soner
Beiträge: 734
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Re: Zeilennummer in DBGrid?

Beitrag von Soner »

Normalerweise verwendet man dafür Index von der Tabelle, aber wenn du unbedingt willst, dann kannst du TDataset.RecNo benutzen.
Ich würde bei der SQL-Select-Anweisung ein neues Feld hinzufügen:

Code: Alles auswählen

select 0 as Zeilennr, ...
Dann die TField.OnGetText-Eigenschaft verwenden, um Zeilennummer automatisch ausgebenzulassen, das ist das einfachste Verfahren.
Nicht getestet, aber musste funktionieren.

Edit:
Aber wenn du kein SQL benutzt, dann schaue hier um zu lernen, wie man neue Spalte ohne DB-Feld zusein erstellt.

Lion
Beiträge: 199
Registriert: Mo 24. Mär 2014, 09:58

Re: Zeilennummer in DBGrid?

Beitrag von Lion »

Vielen Dank! Versuche ich so.

Joh
Lazarusforum e. V.
Beiträge: 288
Registriert: Sa 26. Mai 2012, 17:31
OS, Lazarus, FPC: Win 10 (L 2.2.6 x64 FPC 3.2.2)
CPU-Target: 64Bit

Re: Zeilennummer in DBGrid?

Beitrag von Joh »

per SQL ginge auch :

Code: Alles auswählen

SELECT ROW_NUMBER() OVER() AS Zeile, MeinText
FROM Datei
WHERE ...
So funktionierts in Firebird
just my two Beer

Antworten