TDBGrid Spaltenbreite und Header anpassen

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
Alfred
Beiträge: 101
Registriert: Do 22. Nov 2007, 20:06
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: München

TDBGrid Spaltenbreite und Header anpassen

Beitrag von Alfred »

Code: Alles auswählen

DBGrid1.Columns[1].Width := 15;
erhalte ich folgende Fehlermeldung: List index(1) out of bounds.

Was muss ich da noch einstellen?

Wo kann ich denn die Spaltenköpfe erfassen.

Gruß
Alfred

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Die Meldung sagt dir einfach das es keine Column 1 gibt. Also leg doch erstmal eine an bevor du versuchst ihre Breite zu ändern.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Alfred
Beiträge: 101
Registriert: Do 22. Nov 2007, 20:06
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: München

Beitrag von Alfred »

Hallo Christian,

Code: Alles auswählen

DBGrid1.Columns.Add;
DbGrid1.Columns[0].Title.Caption := 'Header1';
DbGrid1.Columns[0].Width := 100;
DBGrid1.Columns.Add;
DbGrid1.Columns[1].Title.Caption := 'Header2';
DbGrid1.Columns[1].Width := 200;
funktioniert.

Was ich nicht schaffe ist die Zuweisung eines Datenbankfeldes Feldes zu der Spalte.

z.B. DBGrid1.Columns[0].FieldName := 'name';

wird abgelehnt.

Gruß
Alfred

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

leg doch die Columns zur Designzeit an, da kannst dann auch den feldnamen auswählen.
FieldName sollte aber funktionieren, was heißt abgelehnt ? Kannst du mal bitte die Fehlermeldung mit angeben ? Ich tippe mal drauf das kein DataSource zugewiesen ist zu diesem Zeitpunkt.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Alfred
Beiträge: 101
Registriert: Do 22. Nov 2007, 20:06
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: München

Beitrag von Alfred »

Hallo Christian,

ich habe:

Form1
DBGrid1
MySQL50Connection1
SQLTransaction1
SQLQuery1
Datasource1

Ich habe bislang mit einem Button die Verbindung zur Datenbank aufgebaut, bis ich festgestellt habe, das SQLQuery1.Active := true alles erledigt, wenn ich in die anderen Komponenten alles richtig eintrage.

Nur wo trage ich dann zur Designzeit die Columns.add und Columns[0].width ein?

Gruß
Alfred

Alfred
Beiträge: 101
Registriert: Do 22. Nov 2007, 20:06
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: München

Beitrag von Alfred »

Hallo Christian,

ich habe es gefunden:

Code: Alles auswählen

procedure TForm1.FormShow(Sender: TObject);

Kann man zum Beispiel: ' 80992' Links ausrichten? Das Feld ist ein decimal(10,0).

Gruß
Alfred

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Im Objektinspektor kannst du zur Designzeit Columns hinzufügen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antworten