我想你说的是不是先查询出后,再用不同的颜色来显示所需要的数据吧》
如果是这样下面就行:
DBGrid控件是一个有许多用户接口的显示数据库的控件,以下的程序告诉您如何根据显示的内容改变字体的显示颜色。例如,如果一个城市的人口大于200万,我们就让它显示为蓝色。使用的控件事件为DBGrid.OnDrawColumeCell.procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect:TRect;DataCol: Integer; Column: TColumn; State: TGridDrawState);beginif Table1.FieldByName('Population').AsInteger > 20000000 thenDBGrid1.Canvas.Font.Color := clBlue;DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);end;

解决方案 »

  1.   

    就两次,颜色可以指定。qhdsfh(飞翔的鹰)可以详细谈谈吗?
      

  2.   

    我在Query控件中进行了一次查询,结果显示在DBGrid控件中。我现在要在其中再进行一次查询,并将再次查询的结果着上颜色以示区别。在两次查询的过程中,DBGrid中显示的数据信息不变。比如说,在一个学校工资管理系统中,第一次查出所有教师的工资信息,第二次,我要在这些教师中查看所有有教授职称的工资信息,并将所有职称为教授的工资信息着上红色,其它的不变。
      

  3.   

    使用动态SQL语句,用UPDATE怎么样?查询界面增加常数变量。
    第一次查询时,SQL为查询语句,后面查询动态使用UPDATE语
    句,至于变色,我不知道该怎么实现
      

  4.   

    clientdataset 好象可以实现这一功能!
      

  5.   

    过滤之后,第一次查询所得到的内容还在吗?ClientDataSet是不是在内存里转的?
      

  6.   

    button1.click(sender :tobject);
    begin
      if i then 
      begin
        sql.clear;
        sql.add('select name from table_name');
        sql.add('where name =:name');
        execsql;
      end else begin
        sql.clear;
        sql.add('update table_name set name=:name');
        execsql;
      end
    end;
    i是全局布尔型变量,为true则是第一次查询
    对不对,我不清楚啊!:)
      

  7.   

    在DBGrid中的DrawCell事件中实现,具体怎样实现,再问我。