起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 547|回复: 6

DataGrid的指定行的颜色不能改变

[复制链接]
发表于 2011-3-14 12:59:23 | 显示全部楼层 |阅读模式
代码如下:
procedure TMAINFORM.DataGridCustomDrawCell(Sender: TObject; ACanvas: TCanvas; ARect: TRect; ANode: TTreeListNode; AColumn: TTreeListColumn; ASelected, AFocused, ANewItemRow: Boolean; var AText: string; var AColor: Integer; AFont: TFont; var AAlignment: TAlignment; var ADone: Boolean);
begin
//  if (DataSetBrokerLM.DataSet.Active) and (TDataGridColumn(AColumn).ColumnDef.Field.DataSet.FieldByName('sc')='1') then
  if ASelected or AFocused then
  begin
    ACanvas.Font.Color := Business.System.Graphics.clblack;
    ACanvas.Brush.Color := Business.System.Graphics.clred;
    ACanvas.Font.Size := 9;
    ACanvas.Font.Name := '宋体';
  end;
end;
回复

使用道具 举报

发表于 2011-3-14 14:12:04 | 显示全部楼层
印象中记得不能这么判断
(TDataGridColumn(AColumn).ColumnDef.Field.DataSet.FieldByName('sc')='1')

必须得用 ANode.strings[index]格式来判断
回复 支持 反对

使用道具 举报

发表于 2011-3-14 14:19:52 | 显示全部楼层
是要改变背景色还是字体颜色,背景色用AColor := $EAEAEA;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-3-14 14:27:56 | 显示全部楼层
现在并不是判断的不准备的问题
上面颜色的代码也能执行,就是没有效果!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-3-14 14:34:37 | 显示全部楼层
连接的是自定义数据集,
DataGrid的设置:
egoLoadAllRecord属性为False
有几列加了合计
多行选择为False
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-3-15 10:30:30 | 显示全部楼层
设置颜色的代码确实已经执行,可就是没效果!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-3-16 10:31:28 | 显示全部楼层
已能过QQ沟通,结贴!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-23 09:36 , Processed in 0.040802 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表