Mega Code Archive

 
Categories / Delphi / ADO Database
 

NULL Values in a DBGrid

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;