怎样才能获取一个窗口中所有数据库控件的DataSource都连在同一个TDataSource控件上的控件名!    比如:有两个或者更多的Tdbedit、还有TDBGrid等数据库控件,他们的DataSource属性都连接在一个TDataSource控件上,我要怎样才能动态地用程序取得这此数据库控件的名字呀!并且将这些控件的ReadOnly都设为True或False呀!
请写出代码!本人定有高分相送!

解决方案 »

  1.   

    for i:=0 to compontcount -1 do 
    begin
        if (componits[i] is TEdit) then
             TEdit(componts[i]).datasource:=datasource1;
    end;
      

  2.   

    for i:=0 to self.compontcount -1 do 
    begin
        if (self.component[i] is TEdit) then
             TEdit(cself.omponents[i]).datasource:=datasource1;
    end;
      

  3.   

    任何数据感知控件都有DataSource属性,所以你可以用下面的代码来遍历窗口上的所有数据感知控件,然后设置他们的属性;
    这里就涉及到一个问题,如何判断一个控件是否具有你所查找的那个属性,你看看这个帖子,可能对你有所帮助http://expert.csdn.net/Expert/topic/1593/1593563.xml?temp=.7580377
      

  4.   

    各位大虾,我再申明一下我的问题,我是想找出一个窗口中所有DataSource属性都为DataSource1的数据感知控件[包括第三方控件]的控件名,并把它的ReadOnly属性置为True;