Memberi warna kolom DBgrid di delphi

Memberi warna kolom DBgrid di delphi
Untuk membedakan record ganjil atau record genap alangkah baiknya kita coba untuk mewarnai dbgrid yang kita pakai. fungsi yang kita manfaatkan adalah fungsi Table.recno .  Fungsi ini untuk mengecek nomor record. sehingga kita uji apakah nomor record genap atau ganjil dengan menggunkan :

if (Table1.RecNo mod 2)=0 then

fungsi ini kita panggail pada ivent DBGrid1DrawDataCell

Listing lengkapnya ada di bawah ini :
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, DBTables, Grids, DBGrids;

type
  TForm1 = class(TForm)
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Table1: TTable;
    procedure DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
      Field: TField; State: TGridDrawState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
  Field: TField; State: TGridDrawState);
begin
if Table1.RecNo mod 2=0 then
DBGrid1.Canvas.Brush.Color := clSilver
else
DBGrid1.Canvas.Brush.Color := $000080FF;
  DBGrid1.DefaultDrawDataCell (Rect, Field, State);
end;

end.

Catatan :
    Kita juga bisa untuk menguji nilai yang lain misal Table1.Fields[3].AsInteger >5

Sebenarnya ini sama saja dengan mewarnai DBGRID pada artikel yang sebelumnya sudah saya kasih, cuma bedanya kode ini disimpan pasa event DBGrid1DrawDataCell.
Title : Memberi warna kolom DBgrid di delphi
Description : Untuk membedakan record ganjil atau record genap alangkah baiknya kita coba untuk mewarnai dbgrid yang kita pakai. fungsi yang kita manf...

1 Response to "Memberi warna kolom DBgrid di delphi"

  1. kalau semisal ada proses button, baru muncul 1 warna dbgrid nya gimana mas... mohon bantuanya

    ReplyDelete