请问大家两个问题
1。怎样将DBGrid中满足某个条件的记录的背景变成指定的颜色;
2。怎样获得一个窗体中的某个组件的类型,如:现已经有edit和其他组件,怎样才能通过编写代码;来找到edit,然后来获取其相关属性值,即,在众多的组件中找到特定的组件及其相关属性值。
谢谢~~~~~~~~~~~~~~~~~~~~~~~~~~~!!!!!!!!!!!
1。怎样将DBGrid中满足某个条件的记录的背景变成指定的颜色;
2。怎样获得一个窗体中的某个组件的类型,如:现已经有edit和其他组件,怎样才能通过编写代码;来找到edit,然后来获取其相关属性值,即,在众多的组件中找到特定的组件及其相关属性值。
谢谢~~~~~~~~~~~~~~~~~~~~~~~~~~~!!!!!!!!!!!
解决方案 »
- 请教Database1的问题
- 加载dll时出现了"加载类型库/DLL时出错。"
- DdeClientConv 问题,为什么只有 DdeClientItem0有值,其他没有呢?
- 超级简单问题!帮帮忙啊(在线等)
- 好的delphi源代码下载网址,大家都来推荐一下
- 增加数据库字段
- 如何能够让用户可以改变DBGRID的列宽度,但不能拖动列而改变列的排列顺序?
- 用ADO调用Oracle数据库的时候,为什么numeric类型的字段为什么不能正常显示?
- delphi高手请指教
- Tfield.OnGetData 与 Tfield.OnSetData 事件用法,希望详细一些
- 谁有ModelMaker?
- 高手请进,关于Field的问题?
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
...