Datenbank(ABS) und Grid soweit so gut.
Vorweg. Habe das Problem auch mit anderen Grid's (DBGrid, auch AdvGrid (TMS) ).
Die Columns sollen zur Laufzeit konfiguriert werden. Macht es auch.
Die erste Columne, 'lnr', soll nicht gezeigt werden. Geht auch zu Anfang.
Um verschiedene Parameter zu setzen, um zu wissen wie die genau heißen,
klickt man schon mal ins Grid, Columne-Fenster geht auf, nur mal eins zum sehen.
Irgendwann, wenn ich das ein paar Male gemacht habe.
kommt : Argument außerhalb des Bereichs
Setze ich gleich/oder mehr im Columne(Fenster) dann kommt die Meldung nicht mehr.
(Ich mach das mit der Variable i als inc(i), so kann ich die Reihenfolge ohne neu
zu deklarieren, verändern.)
Vor der großen Delphi-Pause, hatte ich am Ende das i+1 jemand zugeteilt,
dann war gut, ich komme da nicht mehr drauf (Alsheimer läßt grüßen).
Delphi-Quellcode:
with SMDBGrid1 do
begin
DefaultDrawing:=true;
DataSource := DataSource2;
TitleFont.Style:=TitleFont.Style + [fsBold];
Options:=[dgEditing,dgTitles,dgColLines,dgRowLines,dgIndicator];
i := 0;
with Columns[i] do
begin
FieldName := 'lnr';
Width := 0;
ReadOnly := true;
end;
inc(i);
with Columns[i] do
begin
FieldName := 'name';
title.Caption := 'Name';
font.Style := [fsBold];
font.Color := $00FF2A2F;
Width := 35;
Alignment := taCenter;
ReadOnly := true;
end;
inc(i);
with Columns[i] do
begin
FieldName := 'vname';
title.Caption := 'Vorname';
font.Style := [fsBold];
Title.Alignment:=taCenter;
Width := 105;
Alignment := taRightJustify;
ReadOnly := true;
end;
inc(i);
???????????:= i+1;