在DBGird中如何改变记录的颜色

第一步,把DefaultDrawing属性设置为False.
    让我们考虑下面的例子:
 我们有一个使用CachedUpdates的dataset。而用户需要知道哪些记录是已经编辑过的,哪些是新的和哪些是已经删除的。
 上述讲到的CachedUpdates可以用UpdateStatus函数进行设置。为了要从dateset中显示被删除的记录(在确认更新之前),我们要修改UpdateRecordTypes属性。该属性详细地描述了哪些记录将要在dataset中显示出来--默认为[rtModified, rtInserted, rtUnmodified]。
 因此,在我们的代码中要加入下面的一行:
UpdateRecordTypes := UpdateRecordTypes + [rtDeleted];
 现在让我们为DBGrid的OnDrawColumnCell事件添加下面的代码;
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
  with (Sender as TDBGrid).Canvas do begin
    case (DataSource.DataSet as TBDEDataSet).UpdateStatus of
      usInserted : Brush.Color := clRed;
      usModified : Brush.Color := clBlue;
      usDeleted  : begin Brush.Color := clBlack; Font.Color := clWhite; end;
    end;
    DefaultDrawDataCell(Rect, Column.Field, State);
  end;
end;
 DefaultDrawDataCell现在将会用新的font和brush属性来显示文本,很简单吧  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值