数据展示优化方法、装置、终端设备及存储介质制造方法及图纸

技术编号:17304565 阅读:22 留言:0更新日期:2018-02-18 22:43
本发明专利技术公开了一种数据展示优化方法、装置、终端设备及存储介质,本发明专利技术通过获取表格初始状态的当前可见区域及对应的每个单元格的数据,并填充显示数据,以及,获取滚动条滚动后的新增可见区域及对应的每个单元格的数据,并填充显示数据。在本发明专利技术实施例所述技术方案中,使得用户初始使用表格查看表格内的数据时,只加载填充当前可见区域内的数据,进而减少了当前填充的数据量,避免了表格响应时间长及界面卡顿的问题,提升了数据展现的速度及流畅度,让用户有更好的体验。

Data display optimization methods, devices, terminal equipment and storage media

The invention discloses a data display optimization method, terminal device and storage device, medium, the invention through each cell to obtain the form the initial state of the currently visible region and the corresponding data, and fill the display data, and access to each cell of the scrolling of the new visible region and the corresponding data, and fill display data. In the embodiment of the invention, the technical proposal, the initial user table view form data, filling the data currently in the visible region only load, thereby reducing the filling amount of data, to avoid the long response time and interface problems Caton form, enhance the data show the speed and fluency and give the user a better experience.

【技术实现步骤摘要】
数据展示优化方法、装置、终端设备及存储介质
本专利技术涉及数据处理
,尤其涉及一种数据展示优化方法、装置、终端设备及存储介质。
技术介绍
用户在操作造价工程预算软件的过程中会产生大量的树形数据,如图1所示,图中主要有章节,清单,定额三种类型的数据,三者的结构关系如下:章节是父项,章节可以嵌套章节,章节可以包含清单,清单包含定额。用户需要通过表格显示和操作(如增删改查)这些树形数据。工程预算软件大多是基于EclipseRCP框架开发的,EclipseRCP框架支持的开发语言是Java,Java客户端开发的控件包比较少,常用的是官方提供的SWT控件包和Eclipse的Nebula项目中的控件包。软件中产生的数据结构是树形数据,因此,表格需要通过表格型的控件展示,JAVA常见的表格控件是SWTTable控件和Nebula下的Grid控件。由于软件对表格的样式(多行表头,表头可拖拽,表格着色,单元格合并)和表格编辑器有特殊要求,NebulaGrid通过改造,可以满足业务需求,所以通常在软件中常使用Nebula下的Grid控件展示数据。根据Eclispe的Nebula项目官方提供的示例使用Grid控件展示数据主要包含以下步骤:1、新建表格;2、循环创建表格列;3、循环填充表格行数据。Eclipse为了简化表格的使用,在Eclipse的JFace工具包提供了视图Viewer、内容管理器ContentProvider和标签提供器LabelProvider用于简化表格的创建和数据填充。其中,ContentProvider的主要功能是把数据转换为表格需要的数据模型,这里转换为数组;LabelProvider的主要功能是设置每个单元格显示的文本和图片;setInput的主要功能是设置表格需要显示的数据源。之后,通过GridTreeViewer创建表格主要可包含以下过程:1、创建GridTreeViewer(GridTreeViewergridTreeViewer=newGridTreeViewer(owner,style)Grid);2、创建GridColumnViewer(GirdColumnViewergcv=newGridColumnViewer(gridTreeViewer,style));3、设置表格列的LabelProvider(column--Viewer.setLabelPrivider(labelProvider));4、设置数据源(gridTreeViewr.setInput(datas))。根据上述展示表格数据的过程可发现存在如下问题:在实际应用中,若需要展示一个如1w行35列的表格数据时,表格加载速度慢,单元格进入编辑后退出单元格编辑刷新界面,界面会卡死,树形表格展开折叠节点反应慢,响应时间长。经测试Grid一次展示(刷新)时间大概在10s-15s,表格刷新过程造成的界面卡顿影响了用户体验。针对以上大批量数据展示的问题,通过使用性能分析工具分析35列的Gird展示1w条记录,需要填充35列*1W行=35w个单元格,填充35w个单元格的内容需要花费大部分的初始化表格时间,是造成界面卡顿的主要原因。目前对于大批量数据展示主流的解决方案又两种,分别是分页和延迟加载,在应用工程预算软件的过程中由于需要展示的数据是树形结构,分页对于树形表格不合适,另外,软件中需要展示的树形数据是已经在内存中存在的,因此Grid数据源不需要做延迟加载。综上所述,亟需一种基于Grid的数据展示优化方法,来解决现有数据展示存在的加载速度慢、响应时间长及界面卡顿的问题。
技术实现思路
本专利技术实施例提供了一种数据展示优化方法、装置、终端设备及存储介质,用以解决现有数据展示存在的加载速度慢、响应时间长及界面卡顿的问题。本专利技术实施例提供了一种数据展示优化方法,所述方法包括:获取表格初始状态的当前可见区域;获取所述表格初始状态的当前可见区域内每行单元格对应的数据,并填充显示数据;获取滚动条滚动后的新增可见区域;获取所述新增可见区域内每行单元格对应的数据,并填充显示数据。这样由于用户只看当前可见区域内的数据,所以本专利技术实施例在显示表格数据时只加载填充当前可见区域内的数据,减少了当前填充的数据量,避免了表格响应时间长及界面卡顿的问题,提升了数据展现的速度及流畅度,让用户有更好的体验。进一步地,作为一个可执行方案,获取表格初始状态的当前可见区域,具体包括:获取表格初始状态的当前可见区域的起始表格行和列坐标、表格行数和列数、以及终止表格行和列坐标。通过获取表格的初始行列坐标,可准确的获取表格当前可见区域范围,进而能够准确的进行数据填充显示。进一步地,作为一个可执行方案,所述获取表格初始状态的当前可见区域的起始表格行和列坐标、表格行数和列数、以及终止表格行和列坐标之后,所述方法还包括:将起始表格行和列坐标、表格行数和列数、以及终止表格行和列坐标保存至快照中。将表格初始行列坐标存入快照中,用于后续表格更新比较,以便于准确的填充更新的表格数据。进一步地,作为一个可执行方案,在获取表格当前可见区域之前,还包括以下步骤:步骤S1:根据内存中的数据源获取层次为N的数据A,并根据数据A往表格中新建行,绑定表格的行数据A,其中N为正整数;步骤S2:遍历数据A中的每条数据,判断数据A是否存在子项Ai,若是,则获取数据A的所有子项Ai,并在数据A所在表格行后插入子项的表格行,绑定表格的行数据Ai,其中i为正整数;步骤S3:判断数据Ai节点的折叠和展开状态,如果折叠,则不继续创建表格行;如果展开,重复步骤S2的操作,直至表格创建完成;步骤S4:计算表格总行数,并通知滚动条。进一步地,作为一个可执行方案,所述获取滚动条滚动后的新增可见区域,具体包括:根据滚动条获取表格滚动后的当前可见区域的起始表格行和列坐标、表格行数和列数、以及终止表格行和列坐标,并保存至快照中;将快照中的表格滚动后的当前可见区域的起始表格行和列坐标、表格行数和列数、以及终止表格行和列坐标,与表格初始状态的当前可见区域的起始表格行和列坐标、表格行数和列数、以及终止表格行和列坐标进行比较,确定滚动条滚动后的新增可见区域。进一步地,本专利技术实施例还提供了一种数据展示优化装置,所述装置包括:第一获取单元,用于获取表格初始状态的当前可见区域,获取所述表格初始状态的当前可见区域内每行单元格对应的数据;第一数据显示单元,用于将获取到的所述表格初始状态的当前可见区域内每行单元格对应的数据进行填充显示数据;第二获取单元,用于获取滚动条滚动后的新增可见区域,获取所述新增可见区域内每行单元格对应的数据;第二数据显示单元,用于将获取到的所述新增可见区域内每行单元格对应的数据进行填充显示数据。进一步地,本专利技术实施例还提供了一种数据展示优化终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。进一步地,本专利技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的方法的步骤。本专利技术有益效果如下:本专利技术实施例提供了一种数据展示优化方法、装置、终端设备及存储介质,本专利技术通过获取表本文档来自技高网
...
数据展示优化方法、装置、终端设备及存储介质

【技术保护点】
一种数据展示优化方法,其特征在于,所述方法包括:获取表格初始状态的当前可见区域;获取所述表格初始状态的当前可见区域内每行单元格对应的数据,并填充显示数据;获取滚动条滚动后的新增可见区域;获取所述新增可见区域内每行单元格对应的数据,并填充显示数据。

【技术特征摘要】
1.一种数据展示优化方法,其特征在于,所述方法包括:获取表格初始状态的当前可见区域;获取所述表格初始状态的当前可见区域内每行单元格对应的数据,并填充显示数据;获取滚动条滚动后的新增可见区域;获取所述新增可见区域内每行单元格对应的数据,并填充显示数据。2.如权利要求1所述的方法,其特征在于,获取表格初始状态的当前可见区域,具体包括:获取表格初始状态的当前可见区域的起始表格行和列坐标、表格行数和列数、以及终止表格行和列坐标。3.如权利要求2所述的方法,其特征在于,所述获取表格初始状态的当前可见区域的起始表格行和列坐标、表格行数和列数、以及终止表格行和列坐标之后,所述方法还包括:将起始表格行和列坐标、表格行数和列数、以及终止表格行和列坐标保存至快照中。4.如权利要求1所述的方法,其特征在于,在获取表格当前可见区域之前,还包括以下步骤:步骤S1:根据内存中的数据源获取层次为N的数据A,并根据数据A往表格中新建行,绑定表格的行数据A,其中N为正整数;步骤S2:遍历数据A中的每条数据,判断数据A是否存在子项Ai,若是,则获取数据A的所有子项Ai,并在数据A所在表格行后插入子项的表格行,绑定表格的行数据Ai,其中i为正整数;步骤S3:判断数据Ai节点的折叠和展开状态,如果折叠,则不继续创建表格行;如果展开,重复步骤S2的操作,直至表格创建完成;步骤S4:计算表格总行数,并通知滚动条。5.如权利...

【专利技术属性】
技术研发人员:冯志民
申请(专利权)人:厦门海迈科技股份有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1