dbgrideh背景色 ( 积分: 50 )

  • 主题发起人 主题发起人 jskscxy
  • 开始时间 开始时间
J

jskscxy

Unregistered / Unconfirmed
GUEST, unregistred user!
记录有重复的,如何让产品名称一样的背景色一样
同品名的记录有的3行,有的2行,有的1行,最多3行
 
procedure TForm1.DBGridEh1GetCellParams(Sender: TObject; Column: TColumnEh; AFont: TFont; var Background: TColor; State: TGridDrawState);
begin

//在 name 字段值为 aaa 的行设置行背景色(ado 设置情况下)
if ADOQuery1.FieldByName('name').AsString = 'aaa' then
Background := $00FFC4C4

//也可以这样写
//在 xm 字段值为 Li ming 的行设置行背景色(bde 设置情况下)
if DBGridEh1.DataSource.DataSet.FieldByName('xm').AsString = 'Li ming' then
Background := $00FFC4C4
else
Background := $00FFDDDD;

end;

//上面的代码你自己改改、试试吧
//至于有多少种产品那就得你自己去分组一下,然后带进来做IF判断。别忘记得自定义出足够的颜色哦,这才是真正头痛的问题。
 
不能随机生成颜色吗?
我有200多个产品,这样太累了吧!
 
Background := rgb(rand(255),rand(255),rand(255))
 
多人接受答案了。
 
后退
顶部