本帖最后由 Erik.Xue 于 2023-1-28 11:36 编辑
单元格类型,也可以叫做单元格命令,在活字格中是构成页面的基本元素组成。接下来,就为大家介绍一下在使用单元格命令时的取与舍。
1、下拉框在数据量较大时
相比用过活字格的小伙伴对组合框很熟悉了,长这样:
组合框很好用,可以手动设置下拉的选项,也可以从数据表中生成下拉项:
当然,大家用的比较多的情况应该是从数据库生成项目,为啥捏,一般推荐的做法是维护一张字典表,而下拉项来源于这张字典表,方便我们之后的维护与更新。
那么如果我们的下拉项是从数据库生成的,就会有一种情况,就是数据库表的行数非常多的情况,比如10万行以上,这种情况在各位小伙伴的系统也不算罕见吧~~~
我们就来实验一波,看看如果组合框在选择《从数据库生成项目》时,数据量非常大的情况下的表现。
准备环境:
活字格设计器版本:8.0.103.0
外联表数据库:sqlserver2012 R2
浏览器:Microsoft Edge
外联表数据量:36万多条
将组合框设置为从此数据表中读取数据,运行工程我们来看下组合框读取数据时间:
可以看到,当我们点击组合框下拉按钮时,可以看到组合框从数据库中拉取36万条数据花费了近3秒的时间,这还是在单人操作下,如果在高并发的情况下,多人使用,那么对数据库的压力可想而知,组合框在读取下拉数据时会变得异常缓慢。
那么怎么办呢?最简单的方法,就是勾选组合框设置——《动态加载项目》:
可以看到:
请求加载时间缩减到了600毫秒,情况已经大大改观。那么此时肯定会有小伙伴说,开了这个《动态加载项目》之后,组合框就不能模糊查询了。
确实如此,为什么,动态加载其实就是一点一点的加载数据库的数据,不会一次性把数据全部读取出来后,再一次性显示,所以模糊查询就不支持了。
那我们就用一种“绕的”办法,文本框+弹出页面+数据表的方式,“模拟”出来一个组合框:
弹出页面上绑定数据表:
然后给表格设置按序加载以及查询条件,这样一来就可以动态加载+性能兼顾了。
可以看到,性能也是嘎嘎好~~~
2、选项卡放置过多的子页面
同样地,我们制造一个场景,在使用选项卡时,在选项卡中放置5个子页面,每个子页面都放置一个数据表,然后我们运行起来看看:
如上图所示,可以看到,当这个页面加载时,选项卡中的5个子页面中的数据表全部都进行了加载,也就是说,如果使用了选项卡,那么有多少子页面,在父页面第一次加载时,就要将所有子页面一并全部加载出来。
这样,如果放置过多的子页面,并且子页面的内容比较复杂的话,性能就会下降,出现卡顿的现象。
所以,如果有太多子页面时,可以选择使用页面容器+设置单元格属性命令,动态切换子页面;或者使用标签页+打开标签命令动态的打开标签页子页面。
当然,在8.1版本之后,我们推出了新的功能——组件。那么我们也可以借助《EL-标签页头》+《组件》的组合,实现动态且高效的切换多个子页面,感兴趣的小伙伴可以试试~
以上就是单元格命令在使用时的一些“隐藏知识”,学废了吗?
参考demo.fgcc
(1.06 MB, 下载次数: 423)
|