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.
untuk "if Table1" tabel1 nya itu manggil tabel yang mana ya
ReplyDeleteterimakasih
untuk contoh diatas Tabel1 (komponen) konek ke database DBDemos dan untuk tabelnya adalah tabel Detail Order..
Delete