下拉树
任务背景
在做输入页面时,为了简化用户的输入,以及避免错误数据的录入,往往提供各种下拉框供用户选择,但是,有时候可供下拉的数据选项非常多,导致下拉选择也非常麻烦,要靠眼睛去寻找合适的选项,并不容易。
为了解决这个问题,把下拉选项按照一定的逻辑进行分级分类,采用树状的方式下拉是个好办法。
举例来说,城市的下拉选项,如果把全国的城市全部列出来,实在太多了,让用户从如此多的选项中选择,显然不现实,因此如果按照地区分类,先按照华东、华北、华南….等地区分类,然后再按照省份分类,然后再按照市分类,再按照县分类,如此一级一级地往下分,查找起来非常容易,下拉选择方便多了。
面临困难
然而,要实现上述的下拉树并不容易,首先要用javascript写出一个下拉树;其次要保证下拉树通用,于是下拉树的数据定义变得很关键,要知道数据的树状结构多种多样,级与级之间的关联条件不定,可能不同级别的数据来自不同的表,而且还可能存在级别数不定的现象,只能根据数据库中的数据动态决定存在几级分类。
当然,上述麻烦还不是最主要的,如果下拉树加入权限控制,那就更加麻烦了。比如说,在某些应用场合只允许选择叶子节点,在某些场合允许选择所有节点;某些场合允许多选,某些场合只能够单选;某些用户访问时只能出来这部分选项;另一部分用户登录时只能出来那部分选项等等;
因此要编程实现上述功能还是很麻烦的。
润乾报表的填报模块,已经实现了下拉树的功能,且对于下拉树的细节考虑的非常周到,包括级别之间的关联定义、循环查找、单选多选、叶子节点与树节点的可选控制等,而且与用户权限的结合非常紧密。其实现步骤也非常简单,包括如下几个步骤:
实现步骤
1、 设计一个填报表
2、 定义下拉树的级别与级别之间的关联条件,设定循环查找、单选多选、叶子节点与树节点的可选控制等属性
3、 网页上展现发布
效果演示