起步软件技术论坛-X3

 找回密码
 立即注册
搜索
123
返回列表 发新帖
楼主: 新来小职员

[搞定]如何控制dataGrid中某行的字体色[问题]**

[复制链接]
发表于 2007-10-31 13:31:17 | 显示全部楼层
设置断点跟踪,选中和未选中的'DZBJ'值是啥?
回复 支持 反对

使用道具 举报

发表于 2007-10-31 13:35:04 | 显示全部楼层
取消以后焦点离开才能变色
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-31 16:32:55 | 显示全部楼层
如图,似乎都是为0

1.jpg

97.08 KB, 下载次数: 165

回复 支持 反对

使用道具 举报

发表于 2007-11-1 10:16:44 | 显示全部楼层
楼主,您的图看不出来。您截的图是已经运行到if判断之外了。您看一下运行到else部门的断点后的i值是多少?
另外,怎么变色您已经知道了。状态和颜色之前的对应您自己仔细调试一下应该比和我们这样沟通着调试快些。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-1 17:42:03 | 显示全部楼层
可以做个简单的例子放上来么?我实在是不知道为什么了
回复 支持 反对

使用道具 举报

发表于 2007-11-1 17:57:41 | 显示全部楼层
DataSource1.DataSet.FieldByName('DZBJ').AsString  = '0'
修改为
DataSource1.DataSet.FieldByName('DZBJ')..AsBoolean

其实就是你的值不对,字符型的 checkbox  表现,实际存储的不是0和1,而是True和False,这你在数据库上看上看一下表的值就知道了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-2 09:31:09 | 显示全部楼层
procedure TWLDZ.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);
begin
    if DataSource1.DataSet.FieldByName('DZBJ').AsBoolean  = 'true' then
    begin
         AFont.Color := Graphics.clRed;
    end
    else
    begin
         AFont.Color := Graphics.clBlue;
    end;
end;
这样写不对?

1.jpg

98.83 KB, 下载次数: 143

回复 支持 反对

使用道具 举报

发表于 2007-11-2 09:39:26 | 显示全部楼层
不对,
不是 if DataSource1.DataSet.FieldByName('DZBJ').AsBoolean  = 'true' then
而是  if DataSource1.DataSet.FieldByName('DZBJ').AsBoolean   then
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-2 09:44:03 | 显示全部楼层
Yeah~终于搞定了,谢谢!!!可以结贴了!
回复 支持 反对

使用道具 举报

发表于 2007-11-2 11:30:52 | 显示全部楼层
终于见到太阳了。
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-6-29 19:53 , Processed in 0.048863 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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