在系统开发中.我们经常会遇到一个问题,就是允许客户对表自定义字段,并跟其他的字段一样使用.比如:
显示名称:新增字段属性显示的名称
数据类型:比如是数字型,字符型,日期型等.
长度:数字型的长度.字符型的长度等.
可选值:如果是枚举型的,应该定义可选的值.界面上将以下拉框的方式显示定义好了.
客户在使用的时候,可以跟正常的字段一样使用..对于这样的方案应该如何设计呢?我这里有个例子.可以看一下.实现的效果非常不错:
http://www.smartprise.com/tintown/download/tb1200.exe

解决方案 »

  1.   

    数据库里可以做字段别名(中文),字段名一般为英文。
    取出中文别名供选择,再根据选择生成SQL语句。
    具体界面要费一番功夫啊。
      

  2.   

    我觉得关键就是create table,ALTER table 的使用问题
    ,然好把界面做成类sql server表定义方式就ok啦.应该不难
      

  3.   

    其实我一直在思考这个问题,关键是在于用户如何使用的设计,至于生成的以及之间的关系,完全可以用Sql语句实现,至于用户的使用方面,比较麻烦,但是最近想的比较接近了,应该可以,但是对于数据库使用的用户界面应该是固定的
      

  4.   

    starter kit中有个这样的例子,可以看看!
      

  5.   

    做4个关联表就可以实现,一个是字段模板,一个是基本表,一个是字段类型表,还有一个下拉框值列表,建议你看一下<asp.net电子商务高级编程>里面的数据库结构设计.
    它的产品列表就很有伸缩性,因为每类产品的属性都不会一样的,所以对应到数据库里的字段也是多样化的,但是不可能每种产品都设计一个表,所以就要用多个表来解决.
      

  6.   

    创建应该不难,最好把Create Table和Alter Table做成存储过程。关键是UI和后台程序的设计要繁琐一些
      

  7.   

    Web叶面进行表字段的自定义已经可以解决了,现在在想如何把列名和叶面中的表的样式对应起来。。界面设计怎么弄阿,希望做过的人指点一二。
      

  8.   

    good good study day day up!
      

  9.   

    我觉得可以使用XML来实现。自定义字段并把自定义的内容显示出来并不是十分困难。个人觉得在昨晚自定义字段后就应该做一个字段拾取器,让用户自己来选择所关心的字段。
      

  10.   

    XML文件的格式如下:
    <UserDefine>
    <Parameter Name = "" DisplayName = "" DateType = "" Length = "" DefaultValue = "" AllowNull = "" />
    </UserDefine>