Hast du es schon mal über das entsprechende Feld der Datenquelle versucht:
DBGrid.DataSource.DataSet.FieldByName(Fieldname).Visible :=false;
Das ist nicht immer das, was man will.
Setzt man das beim Feld selber, dann wird die Spalte erzeugt oder wieder entfernt.
In der Regel geht man ja her und setzt bei den Feldern mit ID-Werten das
Visible
auf
false
. Dafür werden jetzt auch keine Spalten im Grid erzeugt.
Wenn ich dem Benutzer jetzt anbieten möchte Spalten ein- oder auszublenden, dann will ich aber nicht, dass er diese ID-Werte wieder einblenden kann. Und das schaltet man bei der Spalte selber ein.
Im Übrigen ist die Spalte in einem DBGrid
keine Komponente ->
Vcl.DbGrids.TColumn.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)