举个例子:
字典表里有这几个数据:
id 字典名 字典值 字典类型
1 奥迪 0 汽车品牌
2 奔驰 1 汽车品牌
3 宝马 2 汽车品牌
4 ** 0 棋牌类型
5 纸牌 1 棋牌类型
6 斗地主 2 棋牌类型
这是一个大型字典的常见组织方式,通过字典类型进行分类过滤就可以拿到自己想要的东西。
比如这里我需要拿棋牌类型,只需要搞一个下拉框,将这个字典表绑定上去,
选择显示字段是字典名,值字段是字典值,然后设置查询条件为“字典类型”=“棋牌类型”就可以了,对吧?对吧?
你以为的就是你以为以为的?
一般这种字典表里的字典值字段是Varchar,字典类型肯定是Varchar,因为你不知道回放什么进来。
前提说完了,下面说现象。
当你的表里只有10几行的时候,匹配没问题,一切都是那么美好。
当你的表里有300多行的时候,就出问题了。
现象就是:
1、新增页面选择**类型,保存。
2、点击编辑按钮进入编辑页面时,显示的是奥迪。。。。。。。。
3、点击下拉按钮,展示出来的是**、纸牌、斗地主,只要离开焦点,就又会变成奥迪。
好玩不?刺激不?
为啥呢,因为我上面说了,下拉是一种策略,这个里面会用你设置的查询条件去过滤,所以肯定是对的,然后离开焦点后,下拉框的展示是另一种策略,简单来说,就是查询条件不起作用了,用保存的值去字典表里找到第一个匹配的就显示。
这就是这个问题的现象。 |