新手请教dbgrid重复记录循环着色问题(200分)

  • 主题发起人 主题发起人 shadow9
  • 开始时间 开始时间
S

shadow9

Unregistered / Unconfirmed
GUEST, unregistred user!
字段 a &nbsp;b &nbsp;c<br>&nbsp; &nbsp; &nbsp;1 aaa 1<br>&nbsp; &nbsp; &nbsp;2 bbb 1<br>&nbsp; &nbsp; &nbsp;3 ccc 1<br>//第一段记录,根据c字段相同记录为<br>&nbsp; &nbsp; &nbsp;4 ddd 2<br>&nbsp; &nbsp; &nbsp;5 eee 2<br>&nbsp; &nbsp; &nbsp;6 fff 2<br>//第二段记录<br>...<br>下面还有好多<br><br>===================<br><br>我想得到的效果是 相同的记录进行着色,下面的记录就可以用7种甚至更多颜色<br>进行循环着色。。<br><br>我想了半天头都大了,希望高手可以帮忙
 
看不明白,是不是指字段C相同就表示相同啊?
 
是的。字段C相同的记录就是相同颜色。。。7种颜色一循环
 
考虑加个控制色彩的integer字段?<br>循环一次赋值后,根据该字段的值(1--7或0--6)着色就行
 
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;<br>&nbsp; DataCol: Integer; Column: TColumn; State: TGridDrawState);<br>begin<br>&nbsp; case tbl1.FieldByName('AID_NoteType').AsInteger of<br>&nbsp; &nbsp; 0, -1:<br>&nbsp; &nbsp; &nbsp; begin<br>&nbsp; &nbsp; &nbsp; &nbsp; TDBGrid(Sender).Canvas.Font.Color := clRed;<br>&nbsp; &nbsp; &nbsp; &nbsp; TDBGrid(Sender).DefaultDrawColumnCell(Rect, DataCol, Column, State);<br>&nbsp; &nbsp; &nbsp; end;<br>&nbsp; end;<br>end;<br>仅供参考,方法差不多。根据字段值设置颜色。
 
樓上的可行,
 
谢谢大家
 
后退
顶部