知道字段的名称和总个数,但字段是用户可以自己添加的,所以个数不确定,怎么使用EDIT(DBEDIT)显示数据(怎么动态的使EDIT显示数据)

解决方案 »

  1.   

    adoquery1.close;
    adoquery1.sql.text := 'select name from syscolumns where id = object_id(N'tablename')';
    adoquery1.open;
    while not eof do
    begin
      with TdbEdit.create do
      begin
        parent := nil;
        top := 10;
        left := ;
        name := ;
        field := 
        ...
      end;
    end;
      

  2.   

    if AdoQuery.FindField('name') then
    begin
      dbedit := new dbedit.Create(self);
      dbedit.Datasource := DataSource;
      dbedit.DataField := name;
      dbedit.top := ;
      dbedit.left := ;
    end;
    dbedit的位置。。
      

  3.   

    1,在用户新增字段的同时,将改字段的相关信息(表名,字段名,是否需要显示等)存入另外一个表中;
    2,在窗体创建的时候,查找该表单;寻找有没有需要在本单元下新增的字段;如果有,动态创建tdbebit,用来显示和更新内容
      

  4.   

    用文档框添加,要算位置
    用Grid控件不是更容易,动态添加列后直接录入就是了