最近在做一项目,需要动态的生成一些用户属性和对应的值,这些控件和控件拥有的几个属性都是从数据库里面获得,
再完全根据数据库里面存有的数据来生成这个页面
比如说这次数据库里面只有性别,年龄,那么在页面上也就只显示两个,
如果数据库里面以后再需要添加爱好这一项,就需要动态的在页面上显示多一项,而不是再去设计界面。
如果说我设定了一个字段里面放的是一种性别的描述,分别是男和女,可以用逗号分隔开
也可以说是某一种属性的描述都可以往后增加,只是用逗号分隔开而已,那怎么对应的生成这些描述的控件,比如说在页面上男、女用单选按钮,爱好用复选框来勾选,往后要是多了一个描述,就会多增加一个复选框,这怎么实现。还有在页面上怎么布局?
那你需要把这些配置信息都保存起来,比如这个字段该用什么控件,是单选框、复选框、下拉列表框,还是文本框?如果是选择性的控件这个控件可能会有哪些待选值?这些你都需要保存下来。要不然你的程序是不可能知道该呈现什么控件的。
还有一种办法就是自定义Attribute,在类的自身属性里标明页面上展现这一类数据的时候,该用什么控件,有哪些可选的值。实现原来跟保存到数据库是一样的,都是需要保存这种配置信息,只不过一个存到数据库,一个存到类自身编译过的文件里。
总之就一句话,程序越灵活,那么你为了这种灵活性而需要保存的基础数据就越多。