基于 HTML5 的 Web SCADA 报表
背景 最近在一个 SCADA 项目中遇到了在 Web 页面中展示设备报表的需求。一个完整的报表,一般包含了筛选操作区、表格、Chart、展板等多种元素,而其中的数据表格是最常用的控件。在以往的工业项目中,所有的表格看起来千篇一律,就是通过数字和简单的背景颜色变化来展示相关信息。但是现在通过各种移动 App 和 Web 应用的熏陶,人们的审美和要求都在不断提高,尤其是在 Web 项目中,还采用老式的数字表格确实也有点落伍了。 如何选择一个合适的 HTML 前端表格控件?此处可以省略一万字。哈哈。jQuery、Angular、React 等阵营中的控件库中都有不少成熟案例,但是这些基于 DOM 的控件也有不足,一个是效率问题:如果在数据量很大表格的中采用自定义的单元格控件,对浏览器的负担实在太重,尤其是移动端。另一个问题是开发效率,上述的控件库中各自的封装程度、接口形式都有所不同,但整体上还是要求开发者对 CSS、JS 都有较深的了解。还有控件的复用、嵌入、发布、移植,也都是问题。 基于上面的考虑,最后采用了基于 Canvas 的 HT 。通过 HT 表格控件的自定义渲染接口,以及 Web Worker 的多线程数据模拟,实现的表格控件效果如下: http://www.hightopo.com/demo/pagetable/index.html 开始 首先我们要做的就是结合业务逻辑