field1 field2 field3 field4 field5 field6 field7 field8 1 2 3 4 5 6 7 8 2 2 5 5 7 6 9 8 3 2 3 4 5 6 7 8 这是一张表 在dbgrid1中 我想达到这样的效果 只要某条记录和它上一条记录的字段值相同 这个值(并且这个值所在的CELL)就用红色表示 (假设red表示红色)field1 field2 field3 field4 field5 field6 field7 field8 1 2 3 4 5 6 7 8 2 2(red) 5 5 7 6(red) 9 8(red) 3 2(red) 3 4 5 6 7 8(red) 怎么处理呢??请大家给个主意吧 在dbgrid里处理 如何处理?在数据库里处理的话如何处理?给思路 代码都可以 谢谢了!
解决方案 »
- fastreport 分页 和统计问题
- delphi程序实现远程访问数据库
- 如何让Edit只能输入数字和字母?
- Application.CreateForm(TForm1, Form1)和Form1:=TForm1.Create(Form1)在应用和原理上有什么区别?
- IdTcpServer的问题,可能是对象或者线程的释放上的毛病。达人帮忙。。
- 请教高手一个关于类的问题(急)
- DevExpress cxDBPivotGrid 导出Excel 如何显示百分号
- 密码验证问题.
- 100分 :CreateProcess调用dos程序的问题
- 依时利 调用EastRiver.DLL的DeleteAllowedCard 删除白名单
- 关于时间格式转化为字符串的问题,急!!!!
- 如何动态生成控件
**************************************************************
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
begin
if field.fieldname='条件' then
begin
dbgrid1.Canvas.Brush.Color := clred;
dbgrid1.DefaultDrawDataCell(rect,field,state);
end;
end;
看看这个
把数据记录定义成二维数组a[][],然后比较
for i:=2 to 记录行数 do
for j:=2 to 8 do
if a[i][j]=a[i-1][j] then
begin
(执行符合条件的上色)
end;DBGrid就是二维数组 i=row j=col