我想根据数据库里面的数据动态创建组建。若数据库里有50条记录,就要动态创立50个组建。此外,每个组建的一些属性(比如top,left等)对应数据库中每个记录值。怎样做?数据库用Tadoquery连接,应此用SQL语句。多谢

解决方案 »

  1.   

    setlength(xzfyzcrfrm.qrdbtext,adoquery1.FieldCount);
        for i:=0 to adoquery1.FieldCount-1 do
          begin
            xzfyzcrfrm.qrdbtext[i]:=Tqrdbtext.Create(self);
            xzfyzcrfrm.qrdbtext[i].DataSet:=ADOQuery1;
            xzfyzcrfrm.qrdbtext[i].DataField:=adoquery1.Fields[i].DisplayName;
            xzfyzcrfrm.qrdbtext[i].Parent:=xzfyzcrfrm.DetailBand1;
            xzfyzcrfrm.qrdbtext[i].Top:=1;
            xzfyzcrfrm.qrdbtext[i].Left:=(zcrQRlabelGrp[i] as TQrlabel).Left+(zcrQRlabelGrp[i] as TQrlabel).Width div 5 ;
          end;
    参考一下吧,肯定可以的
      

  2.   

    定义动态数组
    qrdbtext     :array of Tqrdbtext;