Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#1

Felder mit NULL-Inhalt im DBGrid

  Alt 6. Mai 2004, 14:05
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]
Andreas
  Mit Zitat antworten Zitat