关于网友提出的“ 大家对这个问题有什么好点子么?客户要能自定义界面”问题疑问,本网通过在网上对“ 大家对这个问题有什么好点子么?客户要能自定义界面”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 大家对这个问题有什么好点子么?客户要能自定义界面描述:
本帖最后由 zhuangyangoal 于 2010-01-18 17:11:15 编辑
一个普通的查询界面,就是一个html,上面是查询条件,下面是显示区如下图:
好了,要求是这样:
用户觉得上面的查询条件太少,需要增加一个查询条件,那么可能就要增加一个input控件了
他需要在客户端自己手动添加,并且位置任意定义,客户是不懂程序的,他操作的可能是一个设置页面参数的一个界面
问题就是如何能让客户做最简单的设置把他要的控件添加到原来的html上或覆盖原来的html,有做好的例子么?
大家给我点建议?你有什么好的实现方法?
我目前的实现是:用户通过一种所见即所得的方式拖动控件例如拖一个input到模板上,保存后生成了定义界面的xml,
程序通过解析这个xml,再生成html覆盖原来的html
不知道还有没有其他的方式,能介绍一下?
或者留下QQ我加你
email:zhuangyangoal@hotmail.com
解决方案1:
楼主可以借鉴Office Word的工具栏模式。当你右键工具栏,选择“customize"的时候,工具栏上所有的按钮都会显示出来,然后你选择需要的。
在你的程序里,让客户动态建立界面和查询条件我觉得是不可取的。在编程序的时候有这么一个原则--“把用户当成白痴来对待”--你又怎么能赋予白痴这么大的灵活性?所以你可以把所有的查询输入区域全部做好,SQL也由动态SQL或者程序生成,平时隐藏,用户只能选择使用(显示)或不使用(隐藏)某个条件,而不能自行添加。这样对于用户来说已经足够了,对他们来说反而比灵活性太高的系统简单易操作。
照你的说法 。 我有个设想 把本页面的查询条件做个 保存在一个表里面 有状态标识隐藏或者显示 。
显示页面的时候把所有不显示的DIV 隐藏起来。 如果用户想添加新的条件查询,就把隐藏的DIV 放到对应的位置上。 不知是否可行。 不过如果查询条件太多 ,那就算了吧 呵呵。
可选的input组件列出来让客户选,根据客户的选择放在div里,可以拖动,等客户拖到想要摆放的位置,提醒他保存,然后就趁机把那个组件是否显示置为是,div的top和left值也记下来,写在数据库里。
这样子整灵活性似乎已经蛮高的了,而且不用改程序和再次生成html,每个用户都可以自定义属于自己的显示组件和摆放位置,每次客户登录后就读取这些信息,动态生成html文本即可。
自定义查询条件,对于单表还好,多表联查够你头痛了。
单表查询的话,用一个配置表来保存条件,页面根据配置表来动态生成。当然,条件不是随便拖拉的,而是你设置好可以用来做条件的字段,用户只能在这些字段里面选,另外,操作符也是一样。值也是一样。比如有的条件,对应可能是个select,有的条件,对应可能是输入框,这种都需要保存到配置表。