假设用一个DBctrlgrid连接到一个数据集上,在它的上面放置一个DBEDIT控件,和数据集某个字段连接,大家知道程序运行起来,DBGRID控件将在上面根据记录的多少动态创建DBEIDT,将数据依次排列其中,但是我想根据记录的值作为判断条件,指定某个DBEDIT中的字体颜色,就是因为它是动态创建的,所以我也不知道让程序如何找到对应的DBEDIT,我在属性中设置颜色,全都变了,我就是要找到某个动态创建的DBEDIT,然后单独它的字体赋上颜色,怎么办?我折腾了半天,还不行。

解决方案 »

  1.   

    先找到它,再赋值,下面权作参考,希望对你有些帮助:procedure TForm1.Button1Click(Sender: TObject);
    var
      DBEdit1: TDBEdit;
    begin
      DBEdit1 := TDBEdit(self.FindComponent('DBEdit1'));
      if (DBEdit1 <> nil) and (DBEdit1.Text = '要找的记录') then
        DBEdit1.Font.Color := clBlue;
    end;
      

  2.   

    dbctrlgrid.onpaintpanel
    在这里边,改变panel的颜色
      

  3.   

    richall,我要改的是DBEDIT中的字体颜色,就算是改panel的颜色又如何办?(单独改)快来帮我................
      

  4.   

    那你就写在数据集的AfterScroll事件中吧
      

  5.   

    指定某个DBEDIT中的字体颜色,就是因为它是动态创建的,
    你这是动态创建什么,我看半天没看懂你意思
      

  6.   

    在DBctrlgrid中放入的DBEDIT是根据记录的多少自动创建的,这本来就是这个控件的特性,无需人工干预,但是问题就在于,我要将其中的一个dbedit的字体改变颜色,通过设置属性的方法是行不通。