dbGridEh关联的数据库字段类型是bit类型,那么对应显示在dbGridEh中的checkBox 选中时对钩的颜色 怎么变成红色?

解决方案 »

  1.   

    procedure TshApfrm.DBGridEh1DrawColumnCell(Sender: TObject;
      const Rect: TRect; DataCol: Integer; Column: TColumnEh;
      State: TGridDrawState);
    begin
     if ((State = [gdSelected]) or (State = [gdSelected, gdFocused])) and (DBGridEh1.DataSource.DataSet.FieldByName('fieldok').AsBoolean=true) then
          DBGridEh1.FieldColumns['fieldok'].Font.Color:=clRed;
     DBGridEh1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
    end;
      

  2.   

    to:ourlin(游荡于代码间的孤魂) ( ) 信誉:100 
    显示的结果不是选中和不选中,而是变了颜色的ture,不太正确吧;
      

  3.   

    if (adoquery1.FieldValues['字段名'].asboolean=true) then
      begin
      dbgridEh1.Columns[2].font.color:=clred;
      dbgridEh1.DefaultDrawColumnCell(rect,DataCol,Column,State);
      end
      

  4.   

    dbGridEh关联的数据库字段类型是bit类型,那么对应显示在dbGridEh中的checkBox 选中时对钩的颜色 怎么变成红色?
    -------------------------------------------------
    注意:显示的是红钩而不是true.
    楼上显示的是红色的true呀
      

  5.   

    具体的属性忘了,grideh的column中有picklist和keylist2个属性,好象是picklist(是个tstrings)属性,设置为true和false,在关联一个timagelist,有2个16x16的图象,一个是方快里面有个红色的勾(0),一个是方快(1),这样当是true时(假设true的index是0)那么对应的用imagelist的0号图象,false就是1号图象,就是这样,如果没效果那可能就是keylist属性