dbgrideh隔组换色问题 我用一个全局变量与组字段相比较不同的时候就换一个颜色,实现了隔组换色,但是一点又全变了,有没有好的方法 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 procedure TForm1.DBGridEh1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumnEh; State: TGridDrawState);var i: Integer;begin i := DBGridEh1.datasource.dataset.FieldByName('特定字段 ').AsInteger; //i --- 颜色标地,根据这个选择颜色 if i = XXXXXXXXXXXXXXX then FondGrd.Canvas.Brush.Color := clFuchsia else FondGrd.Canvas.Brush.Color := clBlack; DBGridEh1.DefaultDrawColumnCell(Rect, DataCol, Column, State);end; 没必要procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);var pt: TPoint; coord: TGridCoord;begin pt.X := Rect.Left; pt.Y := Rect.Top;// pt := ClientToScreen(pt); coord := (Sender as TDBGrid).MouseCoord(pt.X, pt.Y); if coord.Y mod 2 = 1 then (Sender as TDBGrid).Canvas.Brush.Color := clRed else (Sender as TDBGrid).Canvas.Brush.Color := clWhite; (Sender as TDBGrid).DefaultDrawColumnCell(Rect, DataCol, Column, State);end; 上面 pt 没必要了,之前以为 MouseCoord 用的是是绝对座标 根数组没关系的:procedure TForm1.DBGridEh1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumnEh; State: TGridDrawState); begin if 你的判断条件 then FondGrd.Canvas.Brush.Color := clFuchsia else FondGrd.Canvas.Brush.Color := clBlack; DBGridEh1.DefaultDrawColumnCell(Rect, DataCol, Column, State); end; 这样理解是否正确:UDP可以是Client或者Server广播,但接收者只能是Server? 类型定义问题,极基础!! 一个很简单的SQL问题 请教网络编程的基础问题,谢谢 如何在Windows平台下获取针式打印机是否完成了打印任务? 我有一个群 3157655,希望大家踊跃参加,共同进步 请帮忙,不知如何是好。 高手们做安装程序怎么做? count:=$FFFFFFFF;(count是DWORD类型)这句是什么意思? 请问pngimage 控件怎么使用 在线等 (提供图片插入png格式)? FR报表问题 有偿购买拦截80端口的所有数据包Delphi核心源码
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
var
i: Integer;
begin
i := DBGridEh1.datasource.dataset.FieldByName('特定字段 ').AsInteger;
//i --- 颜色标地,根据这个选择颜色
if i = XXXXXXXXXXXXXXX then
FondGrd.Canvas.Brush.Color := clFuchsia
else
FondGrd.Canvas.Brush.Color := clBlack;
DBGridEh1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
pt: TPoint;
coord: TGridCoord;
begin
pt.X := Rect.Left;
pt.Y := Rect.Top;
// pt := ClientToScreen(pt);
coord := (Sender as TDBGrid).MouseCoord(pt.X, pt.Y);
if coord.Y mod 2 = 1 then
(Sender as TDBGrid).Canvas.Brush.Color := clRed
else
(Sender as TDBGrid).Canvas.Brush.Color := clWhite; (Sender as TDBGrid).DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
procedure TForm1.DBGridEh1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
begin
if 你的判断条件 then
FondGrd.Canvas.Brush.Color := clFuchsia
else
FondGrd.Canvas.Brush.Color := clBlack;
DBGridEh1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;