dbgid中如何改变多行的颜色

yadg 2001-08-07 10:31:00
我在dbgrid中选择了多行,我想在单击按钮之后,这些行的背景色都变为红色,我该怎么办呢?
...全文
62 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
flypuma 2001-08-07
  • 打赏
  • 举报
回复
用OwnerDraw自己画呀, 在Table里面最好有一个字段表示该记录需要用红色表示,单击
按钮后将该字段置为True。 在OnDraw事件里面判断当前记录的该字段,然后再Canvas上
自己画,画什么都行啊,别说变一个背景了 :_)
prometheusphinx 2001-08-07
  • 打赏
  • 举报
回复
将DBGrid的Options中的dgRowSelect和dgMultiSelect都设为True,
然后在它的OnDrawDataCell事件中写如下代码:

procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
begin
if DBGrid1.SelectedRows.CurrentRowSelected then
begin
DBGrid1.Canvas.Brush.Color := clRed;
DBGrid1.DefaultDrawDataCell(Rect, Field, State);
end;
end;
szkingrose 2001-08-07
  • 打赏
  • 举报
回复
单击按钮并不能多选记录,你要是可以教教我
yingwei 2001-08-07
  • 打赏
  • 举报
回复
为选中的记录做一个标记,然后调用DBGrid的DrawColumnCell事件。就可以了。

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧