|
| NULL Values in a DBGrid | 
|
|---|
Product: Delphi 3.x (or higher) | Category: Database-VCL | Skill Level:
 | Scoring:  | Last Update: 02/27/2002 | Search Keys: delphi delphi3000 article borland vcl code-snippet DBGrid NULL DrawColumnCell AutoEdit SelectedField | Times Scored: 2 | Visits: 3605 | Uploader: Andreas Schmidt Company: | Reference: N/A | | | Question/Problem/Abstract:
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;
|
|
|
| |
Sign up to consume product discounts for Bronze memberships !
|
|
| |
Community Ad of I. Siticov |
|
| |
|
|
|