Avatar billede kayb Nybegynder
24. februar 2001 - 11:30 Der er 4 kommentarer og
1 løsning

Give en række i DBGrid en bestemt farve

Er der nogle der ved hvordan man kan give
en hel række i DBGrid en bestemt farve, og
kun en række af gangen?
Det jeg skal bruge er, at hvis et felt i Databasen har en værdi af enten TRUE eller
FALSE så skal rækken have en special farve.
Avatar billede martinlind Nybegynder
24. februar 2001 - 11:54 #1
prøv at tilføje ( højre klik på dbgrid\'en ) nogle column\'s så kan du sætte det hele font, farve osv. delphi adder column\'s runtime så du kan også gøre det hele runtime.

/Martin
Avatar billede silden Nybegynder
24. februar 2001 - 12:30 #2
DBGrid1 properties DefaultDrawing skal være false.

Derefter tilføjer du events til DBGrid1, hvor GED
er det felt i Databasen du skal teste.

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
Var Bfarve: Tcolor;
begin
  with (Sender as TDBGrid).Canvas do begin
      if gdFocused in State then begin
        Bfarve:=clNavy;
        Font.Color:=clWhite;
      end else begin
      if GED=true then  Bfarve:=clYellow else
        Bfarve:=clWhite;
        Font.Color:=clBlack;
      end;
      DBGrid1.Canvas.Brush.Color:=Bfarve;
      DBGrid1.DefaultDrawDataCell(Rect,Column.Field,State);
end;
Avatar billede silden Nybegynder
24. februar 2001 - 12:36 #3
Sorrey!! der mangler end; som afslutning på procedure\'n
Avatar billede kayb Nybegynder
24. februar 2001 - 13:24 #4
Thank you!!
Avatar billede martinlind Nybegynder
24. februar 2001 - 16:38 #5
Hvorfor dog alt det besvær med ownerdraw når du kan sætte farven på din dbcolumn. et udklip fra source på DBColumns :

  published
    property  Alignment: TAlignment read GetAlignment write SetAlignment
      stored IsAlignmentStored;
    property  ButtonStyle: TColumnButtonStyle read FButtonStyle write SetButtonStyle
      default cbsAuto;
    property  Color: TColor read GetColor write SetColor stored IsColorStored;
    property  DropDownRows: Cardinal read FDropDownRows write FDropDownRows default 7;
    property  Expanded: Boolean read GetExpanded write SetExpanded default True;
    property  FieldName: String read FFieldName write SetFieldName;
    property  Font: TFont read GetFont write SetFont stored IsFontStored;
    property  ImeMode: TImeMode read GetImeMode write SetImeMode stored IsImeModeStored;
    property  ImeName: TImeName read GetImeName write SetImeName stored IsImeNameStored;
    property  PickList: TStrings read GetPickList write SetPickList;
    property  PopupMenu: TPopupMenu read FPopupMenu write SetPopupMenu;
    property  ReadOnly: Boolean read GetReadOnly write SetReadOnly
      stored IsReadOnlyStored;
    property  Title: TColumnTitle read FTitle write SetTitle;
    property  Width: Integer read GetWidth write SetWidth stored IsWidthStored;
    property  Visible: Boolean read GetVisible write SetVisible;
  end;

Som det ses er der rigelig af muligheder.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester