ورود

View Full Version : رنگ دادن به یک رکورد در dbgrid



am_sanatiz
جمعه 31 فروردین 1386, 20:51 عصر
با عرض سلام
هنگامی یک dbgrid از طریق یک datasource به یک table متصل است و رکوردهای جدول را نمایش می دهد چگونه می توان با پیمایش رکوردهای جدول رکوردهایی با شرایط مورد نظر را در dbgrid به رنگی خاص در آورد

Table1.open;
while form9.Table1.Eof<>true do
begin
If table1.FieldByName(' ').AsString=' ' then
Dbgrid1.

Table1.next;
End;

mohammad-j
جمعه 31 فروردین 1386, 21:34 عصر
با یک مثال فکر کنم به نتیجه بررسی
با استفاده از این کد :
تمام رکورد هایی که نامبر آنها برابر 8 هست رو قرمز می کنه



unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, DB, ADODB, Grids, DBGrids, WinSkinData;

type
TForm1 = class(TForm)
DataSource1: TDataSource;
DBGrid1: TDBGrid;
ADOTable1: TADOTable;
Label1: TLabel;
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 adoTABLE1.FieldByName('num1').asfloat= 8
then

DBGrid1.Canvas.Font.Color:=clred;


DBGrid1.Canvas.TextRect(rect,rect.left+2,rect.top+ 2,field.AsString);


end;
end.

vcldeveloper
شنبه 01 اردیبهشت 1386, 07:59 صبح
چون این سوال بارها پاسخ داده شده، این تاپیک قفل می شود.