Hier zeige ich, wie man Felder mit dem Inhalt
NULL (also gar keinem Inhalt)
in einem
DBGrid besser darstellen kann:
Delphi-Quellcode:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if not (gdFocused in State) then
begin
if Column.Field.IsNull then
begin
with TDBGrid(Sender).Canvas do
begin
Brush.Color := clDkGray; // change color to your personal prefs
Pen.Color := clWhite;
Rectangle(Rect);
end;
end;
end;
end;
Zusätzlich gibt es die Möglichkeit durch Drücken von
Strg-0, im DBGrid ein Feld gezielt auf NULL zu setzen:
Delphi-Quellcode:
procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
var
TheGrid : TDBGrid;
begin
// check for Ctrl-0 (zero, not uppercase Letter O)
if (char(Key)='0') and (shift = [ssCtrl]) then
begin
TheGrid := (Sender as TDBGrid);
if TheGrid.DataSource.AutoEdit then
TheGrid.DataSource.Edit;
TheGrid.SelectedField.Clear;
end;
end;
[edit=Matze]Code formatiert. Mfg, Matze[/edit]