ADO Database Delphi

Title: NULL Values in a DBGrid
Question: How to display and modify NULL-Values in a DBGrid
Answer:
You have to write two event handlers to visualize and edit NULL values
in a DBGrid.
If the user want to reset a field to NULL, he must enter the field
and type Ctrl-0.
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;
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;