起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 913|回复: 0

DataGrid在分组后CustomDrallCell中的表现问题

[复制链接]
发表于 2005-9-22 15:20:43 | 显示全部楼层 |阅读模式
此问题发现是一个共性
在DataGrid的OnCustomDrawCell中的代码按如下方法修改:
procedure TMainForm.DataGrid1CustomDrawCell(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);
var
  I: Integer;
begin
  if ASelected or AFocused then
    exit ;
  ACanvas.Font.Color := clBlack;
//原来根据某个字段值来设定颜色的方法,在分组后由于界面刷新机制的问题,就会乱套。所以改为判断Grid的某列的值来设定
  for I := 0 to DataGrid1.ColumnCount - 1 do
  begin
//循环取列找到相应的项(由于列允许移动位置和分组,所以不能固定),并判断其值
    if (DataGrid1.Columns[I].FieldName = 'PROVIENCE') and
    (SysUtils.trim(ANode.Strings[I]) = '北京') then
    begin
      AColor := clRed;
      Break;
    end;
  end;
end;
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-4-19 16:57 , Processed in 0.043140 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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