我想用DBGrid控件实现这样的效果:
有Test表:
 Field1   Field2
   0        1
   1        0
   
想让DBGrid显示表中内容 并当字段值为1时 显示为红色 字段值为0是显示为绿色

解决方案 »

  1.   

    下面的代码可以改变任意单元格的字体、背景颜色procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    begin
      if (DataCol = 1)and(ADOTable1.FieldByName('UserName').Value = 'Administrator') then
      begin
        DBGrid1.Canvas.Font.Color := clRed;
        DBGrid1.Canvas.Brush.Color := clLime;
      end;
      DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
    end;以上代码仅把第一列(从零列开始),第UserName='Administgrator'行的单元格的字体颜色改为红色,背景颜色改为亮绿色
      

  2.   

    可以使用DBGrid的列编辑器双击就出现了!要和数据源的TFild一起使用!也是双击ADOTable类组件!