am_sanatiz
جمعه 31 فروردین 1386, 21: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, 22: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, 08:59 صبح
چون این سوال بارها پاسخ داده شده، این تاپیک قفل می شود.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.