请问大家两个问题
1。怎样将DBGrid中满足某个条件的记录的背景变成指定的颜色;
2。怎样获得一个窗体中的某个组件的类型,如:现已经有edit和其他组件,怎样才能通过编写代码;来找到edit,然后来获取其相关属性值,即,在众多的组件中找到特定的组件及其相关属性值。
谢谢~~~~~~~~~~~~~~~~~~~~~~~~~~~!!!!!!!!!!!
1。怎样将DBGrid中满足某个条件的记录的背景变成指定的颜色;
2。怎样获得一个窗体中的某个组件的类型,如:现已经有edit和其他组件,怎样才能通过编写代码;来找到edit,然后来获取其相关属性值,即,在众多的组件中找到特定的组件及其相关属性值。
谢谢~~~~~~~~~~~~~~~~~~~~~~~~~~~!!!!!!!!!!!
procedure Tfrm_main.onDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
if (query1.fieldbyname('字段名')='ff') then
dbgrid.Canvas.Font.Color := clWhite;
end;
dbgrid.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end; 问题2,循环遍历组件.
for i:=0 to form1.ComponentCount-1 do
begin
if form1.Components[i] is Tedit tHEN
SHOWMESSAGE(' IS EDIT'); end;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
Begin
IF (Query1.FieldByname('字段名').AsString='值') then
Dbgrid.Canvas.Font.Color := clWhite;
Dbgrid.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end; procedure TForm1.Button1Click(Sender: TObject);
var
Name:String;
begin
For i:=0 to Form1.ComponentCount-1 do
Begin
if Form1.Components[i] is Tedit Then
Begin
Name:=TEdit(Form1.Components[i]).Name;
Showmessage(Name+'是Edit组件');
End;
End;
End;
IF (Query1.FieldByname('字段名').AsString='值') then
Dbgrid.Canvas.Font.Color := clWhite;
改成IF (Query1.FieldByname('字段名').AsString='值') then
Begin
Dbgrid.Canvas.Font.Color := clRed;
DBGrid1.Canvas.Brush.Color := clYellow;
End;
procedure TForm1.Button1Click(Sender: TObject);
var
i:Integer;
Name:String;
begin
...