admin管理员组文章数量:1530844
2024年7月23日发(作者:)
在DELPHI中经常用到网格控件(DBGrid)显示数据,网格控件只提供了每一行的颜
色属性,但在实际应用中我们经常希望它按某一行某一项的取值不同显示不同的颜色,甚
至在网格中的单位表格项中显示出图像等等,下面我们以一个简单的例子来告诉大家怎么
做。
比如我们要求如果春季有退书用红色表示,如果秋季有退书用黄色表示
利用DBGrid自绘功能可以很容易地实现这样的要求。用户可以处理DBGrid的
OnDrawColumnCell事件,在其中实现特殊的效果。要判 断记录是否满足要求,可以使
用DBGrid的DataLink属性获得数据,但DBGrid的DataLink属性属于保护成员,必须
在 TCustomDBGrid的子类中调用。
type
TMyCustomDBGrid = class(TCustomDBGrid);
procedure 1DrawColumnCell(Sender: TObject; const Rect: TRe
ct;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
sCjts,sQjTs:String;
begin
with TMyCustomerDBGrid(Sender) do
begin
Cjts:=[5].AsString;
sQjts:=[9].AsString;
if sCjts<>‘‘ then //春季退书数量>0的用红色显示
:= clRed
else
if sQjts<>‘‘ then //秋季退书数量>0的用黄色显示
:= clYellow
else
:=clWhite;
:=clBlack;
版权声明:本文标题:delphi DBgrid 使用大全 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1721732779a894005.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论