Delphi 高手进,dbgrid 问题

来源:百度知道 编辑:UC知道 时间:2024/05/07 12:25:11
dxdbgrid中我已经实现了奇数行一种颜色,偶数行一种颜色,但是在这个基础上我想实现在选中某一行时,这一行的颜色变成红色的,为什么这段过不去呢:
if ((State = [gdSelected]) or (State=[gdSelected,gdFocused])) then file://选中行用红色显示

dxDbGrid1.Canvas.Brush.color:=clRed;

dxDbGrid1.Canvas.pen.mode:=pmMask;

DbGrid1.DefaultDrawColumnCell (Rect, DataCol, Column, State);

这段代码为什么通过不了啊,
提示:Undeclared identifier:State 要么就说:Incompatible types
是不是需要引用哪个系统单元啊?

你怎么乱写呢
DbGrid1.DefaultDrawColumnCell (Rect, DataCol, Column, State);
只有DBGridEh才有,不是dxDBGrid的

dxDBGrid在OnCustomDrawCell中这样写
if ASelected or AFocused then
AFont.Color := clRed;

模块中有未定义的标识符...