请教高手,在单条记录编辑时,因为显示的字段是不确定的,有什么好的方法控制动态字段的生成与显示位置?

解决方案 »

  1.   

    我觉得如果是这样的话,你就是解决了这个问题,以后还会遇到很多其他问题。好像也没有好的办法,就是先得到要显示字段的信息,然后根据这个信息计算如何现实好看。如果是做一个数据库控制器,最好是使用dbgrid这样的控件,而不用edit等。
      

  2.   

    首先你要和数据库连接好,然后使用的控件有:TClientDateSet,TDBGrid;
          TClientDateSet.CommantText:='SELECT * FROM TABLE1';
          TClientDateSet.Active:=True;
          TDBGrid.DataSet:=TClientDateSet;
          在数据库中应该有一个存放数据表字段的表,然后从这个表中选出Table1的各个字段的值,用循环语句一次给TDBGrid.Columns.Items[Loop].Title.Caption赋值!
      

  3.   

    用表格当然是没有问题的,我的意思是如何根椐动态的数据库字段生成一一对应的动态DBEDIT,而后将这些DBEDIT有序的排列在一个表单上,而后进行数据录入操作。还望哪位大侠指教。
      

  4.   

    还有一个就是用DBGRID有点不太方便的地方,因为字段太多,这DBGRID就显得太长啦,要编辑一条记录的话相当的不方便,所以有一个页面将所有字段都放上面,这样就很直观啦,用户一条一条的编辑起来也很方便。
      

  5.   

    呵呵,这有何难,只要你愿意编程,不怕麻烦就能实现
    1、从数据库中取出字段名和字段类型(不要说你不会取)
    2、根据取出的字段名称和字段类型确定使用什么DB类型的控件
    3、动态生成DB控件,定制控件大小和顺序位置等
    4、如果觉得英文字段名称不好看,可以先定义字段对应的汉语名称,然后根据需要改变Label控件的Caption属性就可以了
      

  6.   

    TField.Visible控制可见性
    TField.Index控制显示位置
    —————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    —————————————————————————————————