我想从数据库表如:
表一                              表二
id    name                     id              num
----------                    ---------------------
001   AAA                      001             325.4
002   BBB                      002             436.7
根据表一里面记录数自动生成TlabeledEdit控件,Caption显示数据库中的name字段.
要求每行显示6个控件.
点button按钮后能把TlabeledEdit中输入的数据保存到表二中
请问怎么实现呢?

解决方案 »

  1.   

    i := 0;
    while not Query.eof do
    begin
      Edt[i] := TLabelededit.create;
      Edt[i].Parent := self;
      edt[i].left := //
      edt[i].right := //你自己设好他
      edt[i].width := //
      edt[i].Height := //
      Edt[i].text := Query.Fi.Fields.FieldByName(Name).asString;
      Edt[i].tag := Query.Fi.Fields.FieldByName(id).asinteger;
      inc(i);
    end;
    count := i;
    For i := 0 to Count do
    begin
      ////写回表2
    end;
      

  2.   

    用INI文件,记录每个控件的位置,如果是一行排放2个,就对2取摸,依次类推。
    我曾经用一个截面排放出30多个控件,而且还支持不同类型的输入。应该可以的
      

  3.   

    给你个建议吧,这种情况还是用Grid控件比较好啊,起码占的资源少,还可以滚动,就算你有几万条记录都不成问题。很难想象在一个Form上放几万个Edit回怎么样,我是没试过。
      

  4.   

    说用Grid的兄弟给个思路把,怎么记录id呢
      

  5.   

    To miky(miky)
    误会了,数据库中最多也就20多条记录
      

  6.   

    To:
       Erice(白雪公猪)
    ini 不会玩啊,有没有这方面的资料.
      

  7.   

    记录ID这样
    Grid.RowCount := Query.Recordcount;
    Grid.ColCount := 3;
    Grid.ColWidth[0] := -GridLineWidth;
    Grid.ColWidth[1] := 100;
    Grid.ColWidth[2] := 100;
    for i := 0 to Query.recordcount -1 do
    begin
      Str := intTostr(ID);//不知道你字段的类型,就当Integer吧;
      Grid.Cells[0,i] := str;
      Grid.Cells[1,i] := Name;
    end;第0列放ID,看不到的。但你能用Cells[0,1] 读出来。
      

  8.   

    to:
     yinzhiw(yinzhiw) :等明天,给你资料
      

  9.   

    to miky(miky)
    你的建议虽然可行,但是如果像你说的好几十条,那我总不能在一行显示所有的把
    如果分成多行后
    那第二,三,四行的id放哪呢?
      

  10.   

    to 
    Erice(白雪公猪)
    期待你的资料
      

  11.   

    to: miky 
    你的做法是如下的样子把
    ------------
    name  Num
    ------------
    AAA |______|
    BBB |______|
    在空白处输入数据
    但是如果记录很多,岂不是有很多行?
    如果像你说的做6,列或者9列的话
    如:
    -------------------------
    AAA |______|BBB|________|
    DDD |______|CCC|________|
    还是在空白处填入num量
    但是BBB,CCC的id怎么记录呢?