比如我的name栏有'张''王''李'三个记录,我想把是王姓的记录的字体颜色变为红色,请问如何做啊?

解决方案 »

  1.   

    我正想发此贴,不过我想问的是 stringrid 。
      

  2.   

    在DBGrid1DrawColumnCell中加
    {
        if (DBGrid1.DataSource.DataSet.FieldByName("name")->AsString=="王姓" 
        begin
            DBGrid1.Canvas.Font.Color := clRed;
            DBGrid1.DefaultDrawDataCell(Rect, Column.Field, State);
        end
    }
      

  3.   

    在dbgrid的onDrawDataCell事件中写代码就可以了。
      

  4.   

    在DBGrid1DrawColumnCell中加
    {
        if (DBGrid1.DataSource.DataSet.FieldByName("name").AsString = '王姓' 
        begin
            DBGrid1.Canvas.Font.Color := clRed;
            DBGrid1.DefaultDrawDataCell(Rect, Column.Field, State);
        end
    }
      

  5.   

    dbgrid的每一列是一个字段
    你可以用 if Table1.fieldbyname('name')='黄' then
     dbgrid1.canvas.font.color:=clred;
      

  6.   

    在dbgrid中有一个dbgriddrawcolumncell事件
    dbgriddrawcolumncell(sender:tobject;const rect:trect;datacol:integer;column:tcolumn;state:tgriddrawstate);
    begin
      if table1.fieldbyname('name')='王' then
         dbgrid.canvas.font.color:=coblue;
      dbgrid.defaultdrawdatacell(rect,column.field,state);
    end;