下拉列表和私有下拉列表的差异原创
金蝶云社区-Howhy
Howhy
12人赞赏了该文章 2,331次浏览 未经作者许可,禁止转载编辑于2020年04月24日 16:50:44

        在BOS设计器中,提供两种比较相似的字段。分别是下拉列表和私有下拉列表,那么它们2个的主要分别是什么呢?

如果对于程序开发人员来说,可以用一句话解释:“下拉列表和私有下拉列表分别对应了引用类型和值类型”。那么如果用一个具体的例子如何解释呢?

       在使用下拉列表字段时,需要对【枚举类型】进行设置,此时会打开一个枚举列表,包含了枚举项和枚举列表。这部分数据是维护在数据库中的。当你选择了一个枚举时。只是把这个枚举的关系引入进来。而单据仅保存了这个枚举项的id。当在站点打开单据时,这个下拉列表加载的数据源是读取数据库中的枚举项,这样的原理决定了以下现象:

  1.      当另外一张单也使用相同枚举时,并对枚举下面的枚举项进行修改。则其他所有使用此枚举的下拉列表数据源全部会同步变化(这个过程不是实时的,因为存在缓存);

  2. 当A页面删除枚举或者删除枚举项时,所有使用此枚举同步删除;

下拉列表此种方式的优点是只保存了id,没有存储其他枚举的数据,而且如果一处修改,处处同步更新,比如部门名称等。但缺点是,用户往往在未知的情况下,发现自己的下拉列表数据源发生了变化,甚至丢失了。


        那么如何解决未知的情况下,枚举项被修改的问题呢?答案是使用【私有下拉列表】。私有下拉列表通过配置【私有枚举类型】,将数据库的枚举项“拉”到本单据的元数据中,此时切断了与数据库的联系。此时,数据库的修改或者其他单据对此枚举项的修改都不会有影响。


    以上就是两者的差异,如果不甚明白地方,可以在下面评论提出。

赞 12