起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: wqh

【搞定】DataTreeList 中 DataTreeList1CustomDrawCell 事件中如何获得列对应的字

[复制链接]
 楼主| 发表于 2007-7-26 15:17:27 | 显示全部楼层
那个链接打不开哦。麻烦重新给个例子。
回复 支持 反对

使用道具 举报

发表于 2007-7-26 16:40:02 | 显示全部楼层
可以啊,
”bbs.justep.com/search.php?s=&action=showresults&searchid=133899&sortby=lastpost&sortorder=descending “
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-26 22:39:07 | 显示全部楼层
我打不开链接,麻烦你把结果帖过来嘛。是DataTreeList1CustomDrawCell哈
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-27 10:20:31 | 显示全部楼层
顶,麻烦回复一下如何? 这个问题搞两天都得不到一个结果。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-27 10:32:52 | 显示全部楼层
ding
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-27 10:32:52 | 显示全部楼层
ding
回复 支持 反对

使用道具 举报

发表于 2007-7-27 10:49:00 | 显示全部楼层
楼主,我在是DataGrid下做的,方法应该一样,您可以用下面的代码试一下。
procedure TFZTJBD.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 not (ASelected or AFocused) then
    begin
      if (TDataGridColumn(AColumn).FieldName= 'DJ') then
        begin
          {if TDataGridColumn(AColumn).ColumnDef.Field.DataSet.
            FieldByName('DJ').AsInteger <= 100 then }
          if SysUtils.StrToInt(AText)<=100 then
             begin
               AColor := Business.System.Graphics.clGreen;
             end
          else
            begin
              AColor := Business.System.Graphics.clRed;
            end;
        end;
    end;
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-27 11:49:19 | 显示全部楼层
不好意思,好像在DataGrid下和TDataTreeList下就是不一样。我在DataGrid下也可以完全控制,
但在 TDataTreeList下好像不行。
麻烦回复一下。!!!!!!!!
回复 支持 反对

使用道具 举报

发表于 2007-7-27 18:33:56 | 显示全部楼层
我可以的
begin
  if not (ASelected or AFocused) then
    begin
      if (TDataTreeListColumn(AColumn).FieldName= 'ETELPHONE') then
        begin
          if SysUtils.StrToInt(AText)<=100  then
            AColor := Business.System.Graphics.clGreen
          else
            AColor := Business.System.Graphics.clRed;
        end;
    end;
end;
回复 支持 反对

使用道具 举报

发表于 2007-8-3 18:02:04 | 显示全部楼层
楼主,您的需求用以下代码可以实现。
begin
  if not ASelected or AFocused then
  begin
  if TDataTreeListColumn(AColumn).FieldName = 'KCL' then
    begin
      if ANode.Strings[9].ToString > ANode.Strings[10].ToString then
      AColor := Business.System.Graphics.clRed
    else
      AColor := Business.System.Graphics.clBlue;
    end;
  end;
end;
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-6-27 23:18 , Processed in 0.040057 second(s), 14 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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