T Tophi Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-21 #1 我想dbgrid中根据其相关联的数据集的某一字段来设定不同的颜色 比如,如果性别是男,则蓝色显示,女就用红色。 如何实现,多谢 另外:不另外使用新控件
张 张剑波 Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-21 #2 procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin if DataSource1.DataSet.fieldbyname('xx').asstring='男'then Canvas.Brush.Color :=clblue else Canvas.Brush.Color := clred; end; dbgrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State); end;
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin if DataSource1.DataSet.fieldbyname('xx').asstring='男'then Canvas.Brush.Color :=clblue else Canvas.Brush.Color := clred; end; dbgrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State); end;
S shangshang Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-21 #4 楼上的方法肯定没问题的,你再改改字段名,或是判断方式就行了。
T Tophi Unregistered / Unconfirmed GUEST, unregistred user! 2002-09-02 #5 奇怪 我写了又可以了,呵呵,不过我要把我的文字写成彩色的,所以用的是font.color了。 还有那个什么pen.mode。