我正在为各种各样的表单写一个CMS,我发现我创建了很多下拉列表。我真的不想把我的数据库弄得乱七八糟,里面有大量随机的键/字符串值表格,用于简单的下拉列表,其中有2-4个选项,而且很少改变。你如何以一种负责任的方式管理这件事?
这是语言不可知的,但是我正在使用Rails,如果有人有具体的建议的话。
发布于 2009-02-26 19:10:32
我们将所有内容放入数据库中的单个LookUp表中,该表中的一个列映射到一个枚举,该枚举描述了它用于哪个查找(标题、国家等)。
这使我们能够在查找下拉菜单中添加“其他,请指定”选项的灵活性。我们制作了一个控件来封装这一点,并提供了一个属性来根据具体情况打开或关闭此行为。
如果最终用户选择了“其他,请指定”,将出现一个文本框供他们输入自己的值。这将被添加到查找表中,但被标记为即席项目。
该表包含一个标志,表示每个查找值的状态: Active、Inactive、AdHoc。只有活动的才会出现在下拉列表中;AdHoc的是通过“其他,请指定”选项创建的。
管理页面显示了AdHoc值的使用频率,允许站点管理员将常见的流行值提升为一般使用(即将其状态标志更改为活动)。
这可能对你的应用程序来说有点过头了,但它对我们的应用程序真的很有效:这个应用程序基本上都是对非常特定于业务的数据进行CRUD操作。我们在整个站点有几十个查找,客户希望能够自己维护这些查找。这给了他们完全的灵活性,而不需要我们的干预。
发布于 2009-02-26 18:42:53
您可以有一个带有额外列的下拉表来说明下拉列表的用途……使用where子句限制结果...
发布于 2009-02-26 18:45:51
在我目前的位置上,我们实现了一个包含CodeGroup、代码和含义列的LookupCode表,以及其他一些列(比如active)。这样,您就有了一个包含所有查找值的表,并且您可以执行一些快速查找来绑定到下拉列表。
https://stackoverflow.com/questions/591883
复制相似问题