054 manyToOne的选择方式
对于当前模块来说,用什么方式来选择一个manyToOne的值也是应该考虑的事。最普通的就是使用comboBox来对 manyToOne的字段值来进行选择。大多数时候我们需要有一个灵活的设置来确定某个manyToOne模块的选择方式。
前面几节增加了一个数据字典的功能,在数据字典中新增一个属性:父模块选择方式。用来字义manyToOne的选择方式。
然后需要在系统模块的配置信息中增加一个字段。
@FieldDefine(title = "被选择方式", number = 141, fieldGroup = "其他设置", remark = "此模块在子模块的form中被选择的方式")
@Column(length = 2)
private String tf_selectMode;
在自定义系统中,修改此字段的属性,将其关联到数据字典中的“父模块选择方式”。然后每一个模块都可以设置上面6种父模块选择方式。当其作为其他模块的manyToOne字段的时候会按照相应的方式来进行选择。
对于这6种选择方式,从字面上可以理解其意思。
1、只能下拉选择,适用于固定的比较少的数据进行选择。比如性别,学历,职务,职称等等。
2、可录入关键字选择(local),适用于固定的较多的数据进行选择,比如民族,职业,专业等不需要频繁变更的数据。local表示是将其值一次性的加入到前台,在搜索关键字的时候是和前台的数据进行比较,并不到后台去。因此这些数据如果有更新的话,必须要刷新网页才行。
3、可录入编码和关键字选择(local),这个和上面一个一样,不同点就是如果该模块是有编码的话,可以直接录入编码来进行选择录入。适用于有编码数据的快速录入。
4、可录入关键字选择(remote),这个和2差不多,只是每次录入关键字后都会去后台查询得到结果,适用于经常需要动态增加值的那些模块。比如说业务单位、客户单位、产品等等。
5、可录入编码和关键字选择(remote),同3的解释。
6、在grid列表中进行选择。这个选择方式和上面的不一样,会在combobox点击展开按钮的时候弹出manyToOne的模块gird,在里面可以选择好记录之后再返回。
对于前面5种,的例子有很多了这里不再显示,只对第6种做一个展示:
还有一种情况,就是树状的模块的选择,比如对于行业来说,其行业大类和中类是在一起的,在选择一个企业的行业的时候,可以使用树状的来选择。树状的选择的时候可以指定是否能选择非叶节点的值。
以上即是本系统中目前能配置的几种manyToOne模块的选择方式,以后根据需求还可以新增其他的选择方式。扩充起来也非常方便。