1 什么是CodeTable

CodeTable可以称为静态数据源,它主要作为下拉框单选框组多选框组等控件的数据来源。
CodeTable更趋近于解码表的概念,它在使用时会进行一次全量数据加载(仍然受限与配置的数量),所有的数据操作都会在内存中进行,这样的操作会更快,但同时也更耗费内存,所以它不适合数据量大的数据源

2 CodeTable特性

一次性加载

无论CodeTable的实际数据来源于哪里,在使用时都会触发一次性加载的逻辑
不管是解码还是控件数据加载都是如此,当然如果它开启了缓存,会优先使用缓存中的数据

解码以及解码时机

在CodeTable用于数据解码时,它也会触发一次性加载的逻辑,再通过内存数据进行解码
所以取数慢的CodeTable推荐开启缓存,否则无论加载数据还是解码都会很慢

联动填充

使用CodeTable的下拉框,可以支持联动和填充,但是其本质是前端基于数据的过滤,而非类似EasySearch的动态过滤,至于填充,与EasySearch一致都是来源于选项中的其它数据。

3 有哪些CodeTable

元数据CodeTable

直接通过元数据封装的CodeTable,取数时通过元数据中配置的表名和字段名获取数据,数据库链接可以随表单变更,也可单独配置

数据视图CodeTable

依托数据视图包装的CodeTable,通过数据视图取数后再转化成标准解码表,进行解码操作

4 常见问题

实际数据与显示数据不一致

这种情况有可能是开启了缓存导致,任何一层缓存的存储,都可能导致下拉列表中缺少数据或者数据过多
缓存的同步只能按照时间同步,不能按照修改数据时同步触发导致的该问题

加载很慢

当CodeTable的数据源数量过大,且上限数量设置过大时,加载数据会触发一次性加载机制,导致整个表单都加载很慢

作者:Eric  创建时间:2023-06-09 09:38
最后编辑:Eric  更新时间:2025-04-24 13:55