怎么在DBGridEh1中判断奇偶行?目的是为了根据奇偶行来更换颜色,比如奇行是红色,偶行是蓝色
begin
if DBGridEh1.DataSource.DataSet.RecNo mod 2 = 1 then//这就话可以判断奇偶行吗?
begin
DBGridEh1.Canvas.Brush.Color := $00FF0000;//这段话没有运行到,
end
else
begin
DBGridEh1.Canvas.Brush.Color := $00FFFFC2;
DBGridEh1.Canvas.font.Color := $00FF0002;
end;
DBGridEh1.DefaultDrawColumnCell(rect, datacol, column, state);
end;
begin
if DBGridEh1.DataSource.DataSet.RecNo mod 2 = 1 then//这就话可以判断奇偶行吗?
begin
DBGridEh1.Canvas.Brush.Color := $00FF0000;//这段话没有运行到,
end
else
begin
DBGridEh1.Canvas.Brush.Color := $00FFFFC2;
DBGridEh1.Canvas.font.Color := $00FF0002;
end;
DBGridEh1.DefaultDrawColumnCell(rect, datacol, column, state);
end;
DBGridEh1.DataSource.DataSet.RecNo mod 2 = 1 不对吗?
换你代码测试了一下这段时运行到了的
DBGridEh1.Canvas.Brush.Color := $00FF0000;//这段话没有运行到,
DBGridEh1.Canvas.Brush.Color := $00FFFFC2;
DBGridEh1.Canvas.font.Color := $00FF0002;
也是运行到了的
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
begin
if DBGridEh1.DataSource.DataSet.RecNo mod 2 = 1 then
begin
DBGridEh1.Canvas.Brush.Color := clred;
end
else
begin
DBGridEh1.Canvas.Brush.Color := clblue;
DBGridEh1.Canvas.font.Color := clwhite;
end;
DBGridEh1.DefaultDrawColumnCell(rect, datacol, column, state);
end;你的問題完全可以解決啊?是不是你沒有數據所以看不到啊?
写颜色值else