CN110968987B - 表格显示方法和装置、存储介质及电子装置 - Google Patents
表格显示方法和装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN110968987B CN110968987B CN201811161935.2A CN201811161935A CN110968987B CN 110968987 B CN110968987 B CN 110968987B CN 201811161935 A CN201811161935 A CN 201811161935A CN 110968987 B CN110968987 B CN 110968987B
- Authority
- CN
- China
- Prior art keywords
- window
- cell object
- display
- freezing
- frozen
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种表格显示方法和装置、存储介质及电子装置。其中,该方法包括:获取对表格中待冻结的目标区域执行操作所生成的区域冻结指令;在目标区域的显示范围大于等于可视窗口中预先配置的冻结窗口的显示范围的情况下,将目标区域中包含的单元格对象控制在冻结窗口中进行显示,其中,冻结窗口的显示范围小于等于可视窗口的显示范围;获取对冻结窗口中所显示的单元格对象执行调整操作所生成的调整指令;响应调整指令,将冻结窗口中所显示的单元格对象调整为目标区域中的目标单元格对象;在冻结窗口中显示调整后的目标单元格对象。本发明解决了冻结区域的显示区域超出可视窗口的显示区域时,容易出现显示卡顿的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种表格显示方法和装置、存储介质及电子装置。
背景技术
为了方便用户对可视窗口内所显示的表格进行直观地查看,很多编辑软件中都配置有对表格的区域冻结功能。例如,对表格中的部分行单元格或列单元格进行冻结,使得在对该表格进行编辑的过程中,可以对上述冻结区域中的行单元格或列单元格进行固定渲染显示,而对非冻结区域中的单元格进行动态渲染显示,从而实现对冻结区域中的单元格和非冻结区域中的单元格进行对照显示。
然而,由于可视窗口的显示区域有限,当固定在可视窗口内的冻结区域的显示区域逐渐扩大时,对应的可编辑的非冻结区域的显示区域将逐渐缩小。当冻结区域的显示区域超出可视窗口的显示区域时,不仅无法正常显示出非冻结区域中的单元格,而且在渲染显示可视窗口中的单元格过程中,还将非常容易出现显示卡顿的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种表格显示方法和装置、存储介质及电子装置,以至少解决当冻结区域的显示区域超出可视窗口的显示区域时,容易出现显示卡顿的技术问题。
根据本发明实施例的一个方面,提供了一种表格显示方法,包括:获取对表格中待冻结的目标区域执行操作所生成的区域冻结指令;在上述目标区域的显示范围大于等于可视窗口中预先配置的冻结窗口的显示范围的情况下,将上述目标区域中包含的单元格对象控制在上述冻结窗口中进行显示,其中,上述冻结窗口的显示范围小于等于上述可视窗口的显示范围;获取对上述冻结窗口中所显示的单元格对象执行调整操作所生成的调整指令;响应上述调整指令,将上述冻结窗口中所显示的单元格对象调整为上述目标区域中的目标单元格对象;在上述冻结窗口中显示调整后的上述目标单元格对象。
根据本发明实施例的另一方面,还提供了一种表格显示装置,包括:第一获取单元,用于获取对表格中待冻结的目标区域执行操作所生成的区域冻结指令;控制单元,用于在上述目标区域的显示范围大于等于可视窗口中预先配置的冻结窗口的显示范围的情况下,将上述目标区域中包含的单元格对象控制在上述冻结窗口中进行显示,其中,上述冻结窗口的显示范围小于等于上述可视窗口的显示范围;第二获取单元,用于获取对上述冻结窗口中所显示的单元格对象执行调整操作所生成的调整指令;调整单元,用于响应上述调整指令,将上述冻结窗口中所显示的单元格对象调整为上述目标区域中的目标单元格对象;显示单元,用于在上述冻结窗口中显示调整后的上述目标单元格对象。
在本发明实施例中,在获取对表格中待冻结的目标区域执行操作所生成的区域冻结指令之后,在该目标区域的显示范围大于等于可视窗口中预先配置的冻结窗口的显示范围的情况下,将目标区域中包含的单元格对象控制在冻结窗口中进行显示,其中,冻结窗口的显示范围小于等于可视窗口的显示范围;获取对该冻结窗口中所显示的单元格对象执行调整操作所生成的调整指令;并根据该调整指令将冻结窗口中所显示的单元格对象调整为目标区域中的目标单元格对象;在冻结窗口中显示调整后的目标单元格对象,从而实现灵活控制冻结后的目标区域中的单元格对象在冻结窗口内进行动态显示,而不会产生显示卡顿,进而解决了冻结区域的显示区域超出可视窗口的显示区域时,容易出现显示卡顿的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种表格显示方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的表格显示方法的流程示意图;
图3是根据本发明实施例的一种可选的表格显示方法的示意图;
图4是根据本发明实施例的一种可选的表格显示方法的示意图(一);
图5是根据本发明实施例的一种可选的表格显示方法的示意图(二);
图6是根据本发明实施例的一种可选的表格显示方法的示意图(三);
图7是根据本发明实施例的一种可选的表格显示方法的示意图(四);
图8是根据本发明实施例的一种可选的表格显示方法的示意图(五);
图9是根据本发明实施例的一种可选的表格显示方法的示意图(六);
图10是根据本发明实施例的一种可选的表格显示方法的示意图(七);
图11是根据本发明实施例的一种可选的表格显示方法的示意图(八);
图12是根据本发明实施例的一种可选的表格显示装置的结构示意图;
图13是根据本发明又一种可选实施例的表格显示装置结构框图(一);
图14是根据本发明又一种可选实施例的表格显示装置结构框图(二);
图15是根据本发明又一种可选实施例的表格显示装置结构框图(三);
图16是根据本发明又一种可选实施例的表格显示装置结构框图(四);
图17是根据本发明实施例的一种可选的电子装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种表格显示方法。可选地,上述表格显示方法可以但不限于应用于如图1所示的Web在线表格应用环境中,其中,该Web在线表格可使用冻结功能,即在该Web在线表格中可分为冻结区域和非冻结区域。
下面对Web在线表格中涉及到的术语进行说明。
冻结,表格中可以将部分的行列区域进行固定,此时用户滚动表格将只能变化非冻结的区域,方便了人们对表格信息的阅读。
Dom:Web页面中每一个元素的统称,一个Web页面,就是有很多个Dom节点所组成的。
Canvas:一个特殊的Dom节点,也称为画布,可以调用浏览器的底层绘制接口,基于Canvas可以进行高效的图像绘制。
Viewport:视口,可视区。在Canvas中绘制的图像,它们的位置坐标是要基于当前可视区(viewport)的。当元素处于可视区外的坐标,就是不可见的。
可选地,在本实施例中,作为一种可选的实施方式,如图2所示,上述表格显示方法可以包括:
S202,获取对表格中待冻结的目标区域执行操作所生成的区域冻结指令;
需要说明的是,上述区域冻结指令用于指示对该目标区域中的单元格执行冻结处理。其中,上述单元格中可以为已记录数据的实单元格,也可以为未记录数据的空单元格。本实施例中对此不做任何限定。
S204,在目标区域的显示范围大于等于可视窗口中预先配置的冻结窗口的显示范围的情况下,将目标区域中包含的单元格对象控制在冻结窗口中进行显示,其中,冻结窗口的显示范围小于等于可视窗口的显示范围;
需要说明的是,上述冻结窗口的显示范围小于等于该可视窗口的显示范围。
S206,获取对冻结窗口中所显示的单元格对象执行调整操作所生成的调整指令;
S208,响应调整指令,将冻结窗口中所显示的单元格对象调整为目标区域中的目标单元格对象;
S210,在冻结窗口中显示调整后的目标单元格对象。
可选地,上述目标区域可以为将要被冻结的区域,例如,图1中AB列为冻结区域,AB列后面的列为非冻结区域。上述仅是示例,本实施例中对此不做任何限定。
可选地,在本实施例中,在上述目标区域的显示范围小于等于可视窗口中预先配置的冻结窗口的显示范围的情况下,则目标区域中的单元格可正常显示。
可选地,在本实施例中,上述冻结窗口可以但不限于用虚拟Viewport标识,其中该虚拟Viewport用于控制将目标区域中的单元格限制在冻结窗口中进行显示。上述仅是示例,本实施例中对此不做任何限定。
可选地,在本实施例中,将该目标区域中的单元格控制在该冻结窗口中进行显示的方式包括但并不限于:
方式一、从上述目标区域中,确定出位于上述冻结窗口的显示范围内的原始单元格对象;在上述冻结窗口中显示上述原始单元格对象。
方式二、先移动上述目标区域,然后再从移动后的目标区域中,确定出调整后位于上述冻结窗口的显示范围内的目标单元格对象;在上述冻结窗口中显示上述目标单元格对象。
上述仅是示例,本实施例中对此不做任何限定。
可选地,在本实施例中,上述在上述冻结窗口中显示调整后的上述目标单元格对象包括但并不限于:
方式一、在上述冻结窗口所对应的显示区域中基于Canvas渲染显示调整后的上述目标单元格对象,并在上述可视窗口内除上述冻结窗口之外的显示区域中渲染显示特征单元格对象,其中,上述特征单元格对象为从待显示页面中除上述目标区域之外的非目标区域中所获取到的单元格。
方式二、在上述冻结窗口所对应的显示区域中基于非Canvas渲染显示调整后的上述目标单元格对象,并在上述可视窗口内除上述冻结窗口之外的显示区域中渲染显示特征单元格对象,其中,上述特征单元格对象为从待显示页面中除上述目标区域之外的非目标区域中所获取到的单元格。
上述仅是示例,本实施例中对此不做任何限定。
通过上述步骤S202至步骤S210,在获取对表格中待冻结的目标区域执行操作所生成的区域冻结指令之后,在该目标区域的显示范围大于等于可视窗口中预先配置的冻结窗口的显示范围的情况下,将目标区域中包含的单元格对象控制在冻结窗口中进行显示,其中,冻结窗口的显示范围小于等于可视窗口的显示范围;获取对该冻结窗口中所显示的单元格对象执行调整操作所生成的调整指令;并根据该调整指令将冻结窗口中所显示的单元格对象调整为目标区域中的目标单元格对象;在冻结窗口中显示调整后的目标单元格对象,从而实现灵活控制冻结后的目标区域中的单元格对象在冻结窗口内进行动态显示,而不会产生显示卡顿,进而解决了冻结区域的显示区域超出可视窗口的显示区域时,容易出现显示卡顿的技术问题。
下面结合具体示例,对本实施例进行举例说明。
在相关技术提供的Web在线表格中,使用冻结功能之后,只能滚动非冻结区域,所以当冻结区域过大的时候,用户真实可操作的范围就会变得很小,当小到触发极限后就无法冻结更多的行列和操作非冻结的行列。本实施例不仅仅只是固定冻结区域,给予了冻结区域一个最大值,比如是viewport的一半大小,那么非冻结区域最小也有viewport另一半的范围可以展示。冻结区域真实大小超出了最大值时,也会出现滚动条,此时用户可以在冻结区域上进行滑动等操作得到反馈(如图3所示)。
在这种情况下,不仅仅避免了冻结区域多大导致页面假死,而且方便了用户进行冻结区域和非冻结区域的内容对比,在移动端上的表现尤为明显。
在一个可选地实施方式中,上述将将目标区域中包含的单元格对象控制在冻结窗口中进行显示包括以下步骤:
步骤S11,确定出在目标区域中位于冻结窗口的显示范围内的原始单元格对象;
步骤S12,在冻结窗口中显示原始单元格对象。
例如,假设表格1中包括5列,其中分别为A、B、C、D,E,其中目标区域(即,将要被冻结的区域)为A、B、C、D这四列,预先配置的冻结窗口(即,虚拟Viewport)为包括A、B、C这三列的窗口,那么上述原始单元格对象为包括A、B、C这三列的单元格对象,并在冻结窗口显示A、B、C这三列的单元格对象。
又例如,假设表格1中包括5列,其中分别为A、B、C、D,E,其中目标区域(即,将要被冻结的区域)为A、B、C、D这四列,预先配置的冻结窗口(即,虚拟Viewport)为包括A、B、C、D这四列的窗口,那么上述原始单元格对象为包括A、B、C、D这四列的单元格对象,并在冻结窗口显示A、B、C、D这四列的单元格对象。
可选地,在本实施例中,通过上述步骤S11至步骤S12可以获取与冻结窗口相适配的目标区域中的部分单元格对象进行显示。
可选地,上述响应调整指令,将冻结窗口中所显示的单元格对象调整为目标区域中的目标单元格对象包括以下步骤:
步骤S21,响应调整指令,对冻结窗口中所显示的原始单元格对象进行调整;
步骤S22,确定出调整后在目标区域中位于冻结窗口的显示范围内的目标单元格对象。
可选地,在本实施例中,上述步骤S21至步骤S22相当于冻结窗口与目标区域相对运动,获取每次调整后位于冻结窗口内的单元格对象进行显示。
例如,假设表格1中包括5列,其中分别为A、B、C、D,E,其中目标区域(即,将要被冻结的区域)为A、B、C、D这四列,预先配置的冻结窗口(即,虚拟Viewport)为包括A、B、C这三列的窗口,那么上述目标单元格对象为包括A、B、C这三列的单元格对象,并在冻结窗口显示A、B、C这三列的单元格对象,在接收到调整指令后,对所述冻结窗口中所显示的单元格对象进行调整,显示位于冻结窗口内的B、C、D列单元格对象。
又例如,假设表格1中包括5列,其中分别为A、B、C、D,E,其中目标区域(即,将要被冻结的区域)为A、B、C、D这四列,预先配置的冻结窗口(即,虚拟Viewport)为包括A、B这四列的窗口,那么上述目标单元格对象为包括A、B这两列的单元格对象,并在冻结窗口显示A、B、这两列的单元格对象,在接收到调整指令后,对冻结窗口中所显示的单元格对象进行调整,显示位于冻结窗口内的C、D列单元格对象。
在一个可选地实施方式中,上述获取对冻结窗口中所显示的单元格对象执行调整操作所生成的调整指令包括以下至少之一:
获取对上述冻结窗口中所包含的滚动条执行滑动操作所生成的上述调整指令;
获取对上述冻结窗口所在的显示屏幕执行触屏操作所生成的上述调整指令;
获取对与上述冻结窗口对应的三维空间执行体感操作所生成的上述调整指令。
可选地,在本实施例中,获取对上述冻结窗口执行操作所生成的调整指令的方式包括但并不限于:滑动滚动条、手势(体感)、触屏拖拽滑动等。
通过上述方式,获取对上述冻结窗口执行操作所生成的调整指令,可以进一步解决冻结区域的显示区域超出可视窗口的显示区域时,容易出现显示卡顿的技术问题。
可选地,上述在冻结窗口中显示调整后的目标单元格对象包括以下步骤:
步骤S31,在冻结窗口所对应的显示区域中渲染显示调整后的目标单元格对象,并在可视窗口内除冻结窗口之外的显示区域中渲染显示特征单元格对象,其中,特征单元格对象为从待显示页面中除目标区域之外的非目标区域中所获取到的单元格对象。
可选地,在本实施例中,对于冻结区域及非冻结区域的操作,可采用先渲染A部分,A部分越界单元格对象清空;再渲染B部分,B部分越界单元格对象采用“源数据优先”的方式,显示在A数据之下(被覆盖),从而实现对不同区域的动态控制,且保证正常显示。上述仅是示例,本实施例中对此不做任何限定。
通过上述步骤S31,渲染可视窗口,其中,包含冻结窗口中单元格对象及非冻结窗口中单元格对象,从而实现对不同区域的动态控制,且保证正常显示。
在一个可选地实施方式中,上述在冻结窗口所对应的显示区域中渲染显示调整后的目标单元格对象,并在可视窗口内除冻结窗口之外的显示区域中渲染显示特征单元格对象包括:
步骤S41,从用于存储目标区域的第一缓存中,获取目标区域中的单元格对象,并在可视窗口内绘制目标区域中的单元格对象;
需要说明的是,上述第一缓存可以为冻结部分的虚拟Viewport。
步骤S42,清空第一缓存;
步骤S43,从用于存储非目标区域的第二缓存中,获取非目标区域中的单元格对象,并在可视窗口内绘制非目标区域中的单元格对象,其中,在冻结窗口所对应的显示区域中,第一缓存中所存储的单元格对象的显示优先级高于第二缓存中所存储的单元格对象的显示优先级。
需要说明的是,上述第二缓存可以为非冻结部分的虚拟Viewport。
可选地,上述在冻结窗口所对应的显示区域中渲染显示调整后的目标单元格对象,并在可视窗口内除冻结窗口之外的显示区域中渲染显示特征单元格对象包括以下步骤:
步骤S51,从用于存储非目标区域的第三缓存中,获取非目标区域中的单元格对象,并在可视窗口内绘制非目标区域中的单元格对象;
需要说明的是,上述第三缓存可以为非冻结部分的虚拟Viewport。
步骤S52,清空上述第三缓存;
步骤S53,从用于存储目标区域的第四缓存中,获取目标区域中的单元格对象,并在可视窗口内绘制目标区域中的单元格对象,其中,在可视窗口内除冻结窗口之外的显示区域中,第三缓存中所存储的单元格对象的显示优先级高于第四缓存中所存储的单元格对象的显示优先级。
需要说明的是,上述第三缓存可以为冻结部分的虚拟Viewport。
下面结合具体示例,对本实施例进行举例说明。
假设表格在冻结之前整个表都是可操作的,可以理解为viewport上只有一个区域那就是非冻结区域。此时表格元素的位置坐标都是基于viewport的,也就是理解为任何一个单元格的渲染只需要考虑viewport坐标即可。图4中的C6格的viewport坐标为(226,235)。
当用户冻结了前四列,如果采用仅仅固定冻结区域的方式,表格内的元素还是只需要考虑viewport坐标即可,只需要控制渲染顺序将冻结区域覆盖住非冻结区域即可(如图5所示)。
本示例的提出引入虚拟viewport,无论是冻结区域还是非冻结区域,都会增加一个虚拟的viewport进行维护。图6中C3格的真实viewport是(189,91),虚拟viewport是(0,91)
真正在屏幕上是否可见也是由虚拟viewport坐标决定,图7中C列的虚拟viewport下x坐标超过了冻结区域这个虚拟viewport的最大值,所以是不可见的。针对这样的模式,整个表格单元格对象的处理维护就需要有所变化,不能仅仅只关注非冻结区域。
剩下的一个关键就是如何把虚拟viewport给渲染出来了。其他方案由于只将冻结区域固定后完整展现,所以它们的渲染管线是先渲染非冻结区域,再渲染冻结区域。冻结区域是最高层级,所以会自然盖住非冻结区域由于滚动产生的越界范围。
本示例引入的虚拟viewport带来的问题就是,冻结区域也会有越界的现象出现(如图8所示),二者都有越界时,无论是冻结区域在上还是非冻结区域在上,后渲染的区域会将越界部分也给渲染出来,产生错误的效果。
所以此时需要进行限制范围渲染,先渲染非冻结区域,已经有了越界现象,再渲染冻结区域时,先对冻结区域进行范围限制,只渲染虚拟viewport的大小,这样冻结区域就不会出现越界现象,并且正常绘制下来会把非冻结区域的越界内容给覆盖掉,如图9所示。
Web中Canvas限制渲染范围的API是clip,实际使用后发现:由于Web本身性能瓶颈,调用clip会带来无法接受的性能开销,造成明显卡顿。在iOS下,大范围的clip会造成明显的卡顿(图10)。所以尝试了更换思路采用频繁小范围clip(图11),这种方案下iOS不卡顿了,但是部分安卓开始卡顿,如果继续使用clip的话只能分***进行处理,但会带来极大的代码开发维护成本。
最终本发明采用了自己实现clip,首先切换了渲染层叠模式为源图像优先,也就是后绘制的元素在先绘制元素的下面,不会覆盖住,而是被覆盖。整个绘制管线流程是,先绘制非冻结区域,此时已有了越界现象,然后在绘制冻结区域前,先将冻结区域的viewport进行清空,非冻结区域已经没有了越界现象,紧接着绘制冻结区域,冻结区域的越界现象由于渲染模式改成了源图像优先,并不会出现,至此就达到了我们的目的。
本示例的优势在于用户对表格进行冻结的时候,不必受到屏幕大小的限制,在移动端这种相较于PC的小屏设备上,也有着极佳的使用体验。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
根据本发明实施例的另一个方面,还提供了一种用于实施上述表格显示方法的场景中的表格显示装置,可选地,本方案实施例可以应用于如上述图1所示的应用环境中,其中,图1中所示的Web在线表格可使用冻结功能,即在该Web在线表格中可分为冻结区域和非冻结区域。
下面对Web在线表格中涉及到的术语进行说明。
冻结,表格中可以将部分的行列区域进行固定,此时用户滚动表格将只能变化非冻结的区域,方便了人们对表格信息的阅读。
Dom:Web页面中每一个元素的统称,一个Web页面,就是有很多个Dom节点所组成的。
Canvas:一个特殊的Dom节点,也称为画布,可以调用浏览器的底层绘制接口,基于Canvas可以进行高效的图像绘制。
Viewport:视口,可视区。在Canvas中绘制的图像,它们的位置坐标是要基于当前可视区(viewport)的。当元素处于可视区外的坐标,就是不可见的。
根据本发明实施例的一个方面,如图12所示,上述表格显示装置包括:
1)第一获取单元122,用于获取对表格中待冻结的目标区域执行操作所生成的区域冻结指令;
需要说明的是,上述区域冻结指令用于指示对该目标区域中的单元格执行冻结处理。其中,上述单元格中可以为已记录数据的实单元格,也可以为未记录数据的空单元格。本实施例中对此不做任何限定。
2)控制单元124,用于在目标区域的显示范围大于等于可视窗口中预先配置的冻结窗口的显示范围的情况下,将目标区域中包含的单元格对象控制在冻结窗口中进行显示,其中,冻结窗口的显示范围小于等于可视窗口的显示范围;
需要说明的是,上述冻结窗口的显示范围小于等于该可视窗口的显示范围。
3)第二获取单元126,用于获取对冻结窗口中所显示的单元格对象执行调整操作所生成的调整指令;
3)调整单元128,用于响应调整指令,将冻结窗口中所显示的单元格对象调整为目标区域中的目标单元格对象;
4)显示单元130,用于在冻结窗口中显示调整后的目标单元格对象。
可选地,上述目标区域可以为将要被冻结的区域,例如,图1中AB列为冻结区域,AB列后面的列为非冻结区域。上述仅是示例,本实施例中对此不做任何限定。
可选地,在本实施例中,在上述目标区域的显示范围小于等于可视窗口中预先配置的冻结窗口的显示范围的情况下,则目标区域中的单元格可正常显示。
可选地,在本实施例中,上述冻结窗口可以但不限于用虚拟Viewport标识,其中该虚拟Viewport用于控制将目标区域中的单元格限制在冻结窗口中进行显示。上述仅是示例,本实施例中对此不做任何限定。
可选地,在本实施例中,将该目标区域中的单元格控制在该冻结窗口中进行显示的方式包括但并不限于:
方式一、从上述目标区域中,确定出位于上述冻结窗口的显示范围内的原始单元格对象;在上述冻结窗口中显示上述原始单元格对象。
方式二、先移动上述目标区域,然后再从移动后的目标区域中,确定出调整后位于上述冻结窗口的显示范围内的目标单元格对象;在上述冻结窗口中显示上述目标单元格对象。
上述仅是示例,本实施例中对此不做任何限定。
可选地,在本实施例中,上述在上述冻结窗口中显示调整后的上述目标单元格对象包括但并不限于:
方式一、在上述冻结窗口所对应的显示区域中基于Canvas渲染显示调整后的上述目标单元格对象,并在上述可视窗口内除上述冻结窗口之外的显示区域中渲染显示特征单元格对象,其中,上述特征单元格对象为从待显示页面中除上述目标区域之外的非目标区域中所获取到的单元格。
方式二、在上述冻结窗口所对应的显示区域中基于非Canvas渲染显示调整后的上述目标单元格对象,并在上述可视窗口内除上述冻结窗口之外的显示区域中渲染显示特征单元格对象,其中,上述特征单元格对象为从待显示页面中除上述目标区域之外的非目标区域中所获取到的单元格。
上述仅是示例,本实施例中对此不做任何限定。
通过图12所示装置,在获取对表格中待冻结的目标区域执行操作所生成的区域冻结指令之后,在该目标区域的显示范围大于等于可视窗口中预先配置的冻结窗口的显示范围的情况下,将目标区域中包含的单元格对象控制在冻结窗口中进行显示,其中,冻结窗口的显示范围小于等于可视窗口的显示范围;获取对该冻结窗口中所显示的单元格对象执行调整操作所生成的调整指令;并根据该调整指令将冻结窗口中所显示的单元格对象调整为目标区域中的目标单元格对象;在冻结窗口中显示调整后的目标单元格对象,从而实现灵活控制冻结后的目标区域中的单元格对象在冻结窗口内进行动态显示,而不会产生显示卡顿,进而解决了冻结区域的显示区域超出可视窗口的显示区域时,容易出现显示卡顿的技术问题。
下面结合具体示例,对本实施例进行举例说明。
在相关技术提供的Web在线表格中,使用冻结功能之后,只能滚动非冻结区域,所以当冻结区域过大的时候,用户真实可操作的范围就会变得很小,当小到触发极限后就无法冻结更多的行列和操作非冻结的行列。本实施例不仅仅只是固定冻结区域,给予了冻结区域一个最大值,比如是viewport的一半大小,那么非冻结区域最小也有viewport另一半的范围可以展示。冻结区域真实大小超出了最大值时,也会出现滚动条,此时用户可以在冻结区域上进行滑动等操作得到反馈(如图3所示)。
在这种情况下,不仅仅避免了冻结区域多大导致页面假死,而且方便了用户进行冻结区域和非冻结区域的内容对比,在移动端上的表现尤为明显。
在一个可选地实施方式中,图13是根据本发明又一种可选实施例的表格显示装置结构框图(一),如图13所示,控制单元124包括:
1)第一确定模块132,用于确定出在目标区域中位于冻结窗口的显示范围内的原始单元格对象;
2)第一显示模块134,用于在冻结窗口中显示原始单元格对象。
例如,假设表格1中包括5列,其中分别为A、B、C、D,E,其中目标区域(即,将要被冻结的区域)为A、B、C、D这四列,预先配置的冻结窗口(即,虚拟Viewport)为包括A、B、C这三列的窗口,那么上述原始单元格对象为包括A、B、C这三列的单元格对象,并在冻结窗口显示A、B、C这三列的单元格对象。
又例如,假设表格1中包括5列,其中分别为A、B、C、D,E,其中目标区域(即,将要被冻结的区域)为A、B、C、D这四列,预先配置的冻结窗口(即,虚拟Viewport)为包括A、B、C、D这四列的窗口,那么上述原始单元格对象为包括A、B、C、D这四列的单元格对象,并在冻结窗口显示A、B、C、D这四列的单元格对象。
可选地,在本实施例中,通过图13可以获取与冻结窗口相适配的目标区域中的部分单元格对象进行显示。
在一个可选地实施方式中,图14是根据本发明又一种可选实施例的表格显示装置结构框图(二),如图14所示,调整单元128包括:
1)调整模块142,用于响应调整指令,对冻结窗口中所显示的原始单元格对象进行调整;
2)第二确定模块144,用于确定出调整后在目标区域中位于冻结窗口的显示范围内的目标单元格对象。
可选地,在本实施例中,上述步骤S21至步骤S22相当于冻结窗口与目标区域相对运动,获取每次调整后位于冻结窗口内的单元格对象进行显示。
例如,假设表格1中包括5列,其中分别为A、B、C、D,E,其中目标区域(即,将要被冻结的区域)为A、B、C、D这四列,预先配置的冻结窗口(即,虚拟Viewport)为包括A、B、C这三列的窗口,那么上述目标单元格对象为包括A、B、C这三列的单元格对象,并在冻结窗口显示A、B、C这三列的单元格对象,在接收到调整指令后,对所述冻结窗口中所显示的单元格对象进行调整,显示位于冻结窗口内的B、C、D列单元格对象。
又例如,假设表格1中包括5列,其中分别为A、B、C、D,E,其中目标区域(即,将要被冻结的区域)为A、B、C、D这四列,预先配置的冻结窗口(即,虚拟Viewport)为包括A、B这四列的窗口,那么上述目标单元格对象为包括A、B这两列的单元格对象,并在冻结窗口显示A、B、这两列的单元格对象,在接收到调整指令后,对冻结窗口中所显示的单元格对象进行调整,显示位于冻结窗口内的C、D列单元格对象。
在一个可选地实施方式中,上述获取对冻结窗口中所显示的单元格对象执行调整操作所生成的调整指令包括以下至少之一:
获取对上述冻结窗口中所包含的滚动条执行滑动操作所生成的上述调整指令;
获取对上述冻结窗口所在的显示屏幕执行触屏操作所生成的上述调整指令;
获取对与上述冻结窗口对应的三维空间执行体感操作所生成的上述调整指令。
可选地,在本实施例中,获取对上述冻结窗口执行操作所生成的调整指令的方式包括但并不限于:滑动滚动条、手势(体感)、触屏拖拽滑动等。
通过上述方式,获取对上述冻结窗口执行操作所生成的调整指令,可以进一步解决冻结区域的显示区域超出可视窗口的显示区域时,容易出现显示卡顿的技术问题。
通过上述方式,获取对上述冻结窗口执行操作所生成的调整指令,可以进一步解决冻结区域的显示区域超出可视窗口的显示区域时,容易出现显示卡顿的技术问题。
可选地,上述显示单元130还用于在冻结窗口所对应的显示区域中渲染显示调整后的目标单元格对象,并在可视窗口内除冻结窗口之外的显示区域中渲染显示特征单元格对象,其中,特征单元格对象为从待显示页面中除目标区域之外的非目标区域中所获取到的单元格对象。
可选地,在本实施例中,对于冻结区域及非冻结区域的操作,可采用先渲染A部分,A部分越界单元格对象清空;再渲染B部分,B部分越界单元格对象采用“源数据优先”的方式,显示在A数据之下(被覆盖),从而实现对不同区域的动态控制,且保证正常显示。上述仅是示例,本实施例中对此不做任何限定。
通过上述步骤S31,渲染可视窗口,其中,包含冻结窗口中单元格对象及非冻结窗口中单元格对象,从而实现对不同区域的动态控制,且保证正常显示。
在一个可选地实施方式中,图15是根据本发明又一种可选实施例的表格显示装置结构框图(三),如图15所示,显示单元130包括:
1)第一获取模块152,用于从用于存储目标区域的第一缓存中,获取目标区域中的单元格对象,并在可视窗口内绘制目标区域中的单元格对象;
需要说明的是,上述第一缓存可以为冻结部分的虚拟Viewport。
2)第一清空模块154,用于清空上述第一缓存;
3)第二获取模块156,用于从用于存储非目标区域的第二缓存中,获取非目标区域中的单元格对象,并在可视窗口内绘制非目标区域中的单元格对象,其中,在冻结窗口所对应的显示区域中,第一缓存中所存储的单元格对象的显示优先级高于第二缓存中所存储的单元格对象的显示优先级。
需要说明的是,上述第二缓存可以为非冻结部分的虚拟Viewport。
在一个可选地实施方式中,图16是根据本发明又一种可选实施例的表格显示装置结构框图(四),如图16所示,显示单元130包括:
1)第三获取模块162,用于从用于存储非目标区域的第三缓存中,获取非目标区域中的单元格对象,并在可视窗口内绘制非目标区域中的单元格对象;
需要说明的是,上述第三缓存可以为非冻结部分的虚拟Viewport。
2)第二清空模块164,用于清空上述第三缓存;
3)第四获取模块166,用于从用于存储目标区域的第四缓存中,获取目标区域中的单元格对象,并在可视窗口内绘制目标区域中的单元格对象,其中,在可视窗口内除冻结窗口之外的显示区域中,第三缓存中所存储的单元格对象的显示优先级高于第四缓存中所存储的单元格对象的显示优先级。
需要说明的是,上述第三缓存可以为冻结部分的虚拟Viewport。
下面结合具体示例,对本实施例进行举例说明。
假设表格在冻结之前整个表都是可操作的,可以理解为viewport上只有一个区域那就是非冻结区域。此时表格元素的位置坐标都是基于viewport的,也就是理解为任何一个单元格的渲染只需要考虑viewport坐标即可。图4中的C6格的viewport坐标为(226,235)。
当用户冻结了前四列,如果采用仅仅固定冻结区域的方式,表格内的元素还是只需要考虑viewport坐标即可,只需要控制渲染顺序将冻结区域覆盖住非冻结区域即可(如图5所示)。
本示例的提出引入虚拟viewport,无论是冻结区域还是非冻结区域,都会增加一个虚拟的viewport进行维护。图6中C3格的真实viewport是(189,91),虚拟viewport是(0,91)
真正在屏幕上是否可见也是由虚拟viewport坐标决定,图7中C列的虚拟viewport下x坐标超过了冻结区域这个虚拟viewport的最大值,所以是不可见的。针对这样的模式,整个表格单元格对象的处理维护就需要有所变化,不能仅仅只关注非冻结区域。
剩下的一个关键就是如何把虚拟viewport给渲染出来了。其他方案由于只将冻结区域固定后完整展现,所以它们的渲染管线是先渲染非冻结区域,再渲染冻结区域。冻结区域是最高层级,所以会自然盖住非冻结区域由于滚动产生的越界范围。
本示例引入的虚拟viewport带来的问题就是,冻结区域也会有越界的现象出现(如图8所示),二者都有越界时,无论是冻结区域在上还是非冻结区域在上,后渲染的区域会将越界部分也给渲染出来,产生错误的效果。
所以此时需要进行限制范围渲染,先渲染非冻结区域,已经有了越界现象,再渲染冻结区域时,先对冻结区域进行范围限制,只渲染虚拟viewport的大小,这样冻结区域就不会出现越界现象,并且正常绘制下来会把非冻结区域的越界内容给覆盖掉,如图9所示。
Web中Canvas限制渲染范围的API是clip,实际使用后发现:由于Web本身性能瓶颈,调用clip会带来无法接受的性能开销,造成明显卡顿。在iOS下,大范围的clip会造成明显的卡顿(图10)。所以尝试了更换思路采用频繁小范围clip(图11),这种方案下iOS不卡顿了,但是部分安卓开始卡顿,如果继续使用clip的话只能分***进行处理,但会带来极大的代码开发维护成本。
最终本发明采用了自己实现clip,首先切换了渲染层叠模式为源图像优先,也就是后绘制的元素在先绘制元素的下面,不会覆盖住,而是被覆盖。整个绘制管线流程是,先绘制非冻结区域,此时已有了越界现象,然后在绘制冻结区域前,先将冻结区域的viewport进行清空,非冻结区域已经没有了越界现象,紧接着绘制冻结区域,冻结区域的越界现象由于渲染模式改成了源图像优先,并不会出现,至此就达到了我们的目的。
本示例的优势在于用户对表格进行冻结的时候,不必受到屏幕大小的限制,在移动端这种相较于PC的小屏设备上,也有着极佳的使用体验。
根据本发明的实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取对表格中待冻结的目标区域执行操作所生成的区域冻结指令;
S2,在目标区域的显示范围大于等于可视窗口中预先配置的冻结窗口的显示范围的情况下,将目标区域中包含的单元格对象控制在冻结窗口中进行显示,其中,冻结窗口的显示范围小于等于可视窗口的显示范围;
S3,获取对冻结窗口中所显示的单元格对象执行调整操作所生成的调整指令;
S4,响应调整指令,将冻结窗口中所显示的单元格对象调整为目标区域中的目标单元格对象;
S5,在冻结窗口中显示调整后的目标单元格对象。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,确定出在目标区域中位于冻结窗口的显示范围内的原始单元格对象;
S2,在冻结窗口中显示原始单元格对象。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,响应调整指令,对冻结窗口中所显示的原始单元格对象进行调整;
S2,确定出调整后在目标区域中位于冻结窗口的显示范围内的目标单元格对象。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取对冻结窗口中所包含的滚动条执行滑动操作所生成的调整指令;
S2,获取对冻结窗口所在的显示屏幕执行触屏操作所生成的调整指令;
S3,获取对与冻结窗口对应的三维空间执行体感操作所生成的调整指令。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,在冻结窗口所对应的显示区域中渲染显示调整后的目标单元格对象,并在可视窗口内除冻结窗口之外的显示区域中渲染显示特征单元格对象,其中,特征单元格对象为从待显示页面中除目标区域之外的非目标区域中所获取到的单元格对象。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,从用于存储目标区域的第一缓存中,获取目标区域中的单元格对象,并在可视窗口内绘制目标区域中的单元格对象;
S2,清空第一缓存;
S3,从用于存储非目标区域的第二缓存中,获取非目标区域中的单元格对象,并在可视窗口内绘制非目标区域中的单元格对象,其中,在冻结窗口所对应的显示区域中,第一缓存中所存储的单元格对象的显示优先级高于第二缓存中所存储的单元格对象的显示优先级。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,从用于存储非目标区域的第三缓存中,获取非目标区域中的单元格对象,并在可视窗口内绘制非目标区域中的单元格对象;
S2,清空第三缓存;
S3,从用于存储目标区域的第四缓存中,获取目标区域中的单元格对象,并在可视窗口内绘制目标区域中的单元格对象,其中,在可视窗口内除冻结窗口之外的显示区域中,第三缓存中所存储的单元格对象的显示优先级高于第四缓存中所存储的单元格对象的显示优先级。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
根据本发明实施例的又一个方面,还提供了一种用于实施上述表格显示方法的电子装置,如图17所示,该电子装置包括存储器1702和处理器1704,该存储器1702中存储有计算机程序,该处理器1704被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取对表格中待冻结的目标区域执行操作所生成的区域冻结指令;
S2,在所述目标区域的显示范围大于等于可视窗口中预先配置的冻结窗口的显示范围的情况下,将所述目标区域中包含的单元格对象控制在所述冻结窗口中进行显示,其中,所述冻结窗口的显示范围小于等于所述可视窗口的显示范围;
S3,获取对所述冻结窗口中所显示的单元格对象执行调整操作所生成的调整指令;
S4,响应所述调整指令,将所述冻结窗口中所显示的单元格对象调整为所述目标区域中的目标单元格对象;
S5,在所述冻结窗口中显示调整后的所述目标单元格对象。
可选地,在本实施例中,上述处理器可以被设置为存储用于执行以下步骤的计算机程序:
S1,确定出在所述目标区域中位于所述冻结窗口的显示范围内的原始单元格对象;
S2,在所述冻结窗口中显示所述原始单元格对象。
可选地,在本实施例中,上述处理器可以被设置为存储用于执行以下步骤的计算机程序:
S1,响应所述调整指令,对所述冻结窗口中所显示的所述原始单元格对象进行调整;
S2,确定出调整后在所述目标区域中位于所述冻结窗口的显示范围内的所述目标单元格对象。
可选地,在本实施例中,上述处理器可以被设置为存储用于执行以下步骤的计算机程序:
S1,在所述冻结窗口所对应的显示区域中渲染显示调整后的所述目标单元格对象,并在所述可视窗口内除所述冻结窗口之外的显示区域中渲染显示特征单元格对象,其中,所述特征单元格对象为从待显示页面中除所述目标区域之外的非目标区域中所获取到的单元格对象。
可选地,本领域普通技术人员可以理解,图17所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,简称为MID)、PAD等终端设备。图17其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图17中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图17所示不同的配置。
其中,存储器1702可用于存储软件程序以及模块,如本发明实施例中的表格显示方法和装置对应的程序指令/模块,处理器1702通过运行存储在存储器1702内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述表格显示方法。存储器1702可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1702可进一步包括相对于处理器1702远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1702具体可以但不限于用于存储表格显示流程等信息。作为一种示例,如图17所示,上述存储器1702中可以但不限于包括上述表格显示装置中的第一获取单元122、控制单元124、第二获取单元126、调整单元128、显示单元130。此外,还可以包括但不限于上述表格显示装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1710用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1710包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1710为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:显示器1708,用于显示上述表格显示的结果;和连接总线1710,用于连接上述电子装置中的各个模块部件。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种表格显示方法,其特征在于,包括:
获取对表格中待冻结的目标区域执行操作所生成的区域冻结指令;
在所述目标区域的显示范围大于等于可视窗口中预先配置的冻结窗口的显示范围的情况下,将所述目标区域中包含的单元格对象控制在所述冻结窗口中进行显示,其中,所述冻结窗口的显示范围小于等于所述可视窗口的显示范围;
获取对所述冻结窗口中所显示的单元格对象执行调整操作所生成的调整指令;
响应所述调整指令,将所述冻结窗口中所显示的单元格对象调整为所述目标区域中的目标单元格对象;
从用于存储除所述目标区域之外的非目标区域的第一缓存中,获取所述非目标区域中的单元格对象,并在所述可视窗口内绘制所述非目标区域中的单元格对象;
清空所述目标区域的可视区viewport;
从用于存储所述目标区域的第二缓存中,获取所述目标区域中的单元格对象,并在所述可视窗口内绘制所述目标区域中的单元格对象,其中,在所述可视窗口内除所述冻结窗口之外的显示区域中,所述第一缓存中所存储的单元格对象的显示优先级高于所述第二缓存中所存储的单元格对象的显示优先级。
2.根据权利要求1所述的方法,其特征在于,所述将所述目标区域中包含的单元格对象控制在所述冻结窗口中进行显示包括:
确定出在所述目标区域中位于所述冻结窗口的显示范围内的原始单元格对象;
在所述冻结窗口中显示所述原始单元格对象。
3.根据权利要求2所述的方法,其特征在于,所述响应所述调整指令,将所述冻结窗口中所显示的单元格对象调整为所述目标区域中的目标单元格对象包括:
响应所述调整指令,对所述冻结窗口中所显示的所述原始单元格对象进行调整;
确定出调整后在所述目标区域中位于所述冻结窗口的显示范围内的所述目标单元格对象。
4.根据权利要求1所述的方法,其特征在于,所述获取对所述冻结窗口中所显示的单元格对象执行调整操作所生成的调整指令包括以下至少之一:
获取对所述冻结窗口中所包含的滚动条执行滑动操作所生成的所述调整指令;
获取对所述冻结窗口所在的显示屏幕执行触屏操作所生成的所述调整指令;
获取对与所述冻结窗口对应的三维空间执行体感操作所生成的所述调整指令。
5.一种表格显示装置,其特征在于,包括:
第一获取单元,用于获取对表格中待冻结的目标区域执行操作所生成的区域冻结指令;
控制单元,用于在所述目标区域的显示范围大于等于可视窗口中预先配置的冻结窗口的显示范围的情况下,将所述目标区域中包含的单元格对象控制在所述冻结窗口中进行显示,其中,所述冻结窗口的显示范围小于等于所述可视窗口的显示范围;
第二获取单元,用于获取对所述冻结窗口中所显示的单元格对象执行调整操作所生成的调整指令;
调整单元,用于响应所述调整指令,将所述冻结窗口中所显示的单元格对象调整为所述目标区域中的目标单元格对象;
显示单元,用于在所述冻结窗口中显示调整后的所述目标单元格对象;
所述显示单元还用于在所述冻结窗口所对应的显示区域中渲染显示调整后的所述目标单元格对象,并在所述可视窗口内除所述冻结窗口之外的显示区域中渲染显示特征单元格对象,其中,所述特征单元格对象为从待显示页面中除所述目标区域之外的非目标区域中所获取到的单元格对象;
所述显示单元还包括:
第一获取模块,用于从用于存储所述非目标区域的第一缓存中,获取所述非目标区域中的单元格对象,并在所述可视窗口内绘制所述非目标区域中的单元格对象;
第一清空模块,用于清空所述目标区域的可视区viewport;
第二获取模块,用于从用于存储所述目标区域的第二缓存中,获取所述目标区域中的单元格对象,并在所述可视窗口内绘制所述目标区域中的单元格对象,其中,在所述可视窗口内除所述冻结窗口之外的显示区域中,所述第一缓存中所存储的单元格对象的显示优先级高于所述第二缓存中所存储的单元格对象的显示优先级。
6.根据权利要求5所述的装置,其特征在于,所述控制单元包括:
第一确定模块,用于确定出在所述目标区域中位于所述冻结窗口的显示范围内的原始单元格对象;
第一显示模块,用于在所述冻结窗口中显示所述原始单元格对象。
7.根据权利要求6所述的装置,其特征在于,所述调整单元包括:
调整模块,用于响应所述调整指令,对所述冻结窗口中所显示的所述原始单元格对象进行调整;
第二确定模块,用于确定出调整后在所述目标区域中位于所述冻结窗口的显示范围内的所述目标单元格对象。
8.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至4任一项中所述的方法。
9.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至4任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811161935.2A CN110968987B (zh) | 2018-09-30 | 2018-09-30 | 表格显示方法和装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811161935.2A CN110968987B (zh) | 2018-09-30 | 2018-09-30 | 表格显示方法和装置、存储介质及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110968987A CN110968987A (zh) | 2020-04-07 |
CN110968987B true CN110968987B (zh) | 2022-05-20 |
Family
ID=70029329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811161935.2A Active CN110968987B (zh) | 2018-09-30 | 2018-09-30 | 表格显示方法和装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110968987B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111309798B (zh) * | 2020-02-11 | 2023-05-12 | 北京字节跳动网络技术有限公司 | 表格的处理方法、装置、设备和存储介质 |
CN111563214B (zh) * | 2020-04-29 | 2023-05-16 | 北京字节跳动网络技术有限公司 | 参考线处理方法及装置 |
CN112286603A (zh) * | 2020-09-28 | 2021-01-29 | 长沙市到家悠享网络科技有限公司 | 一种表格展示方法、装置、电子设备及存储介质 |
CN113625917B (zh) * | 2021-07-29 | 2024-06-11 | 北京达佳互联信息技术有限公司 | 数据展示方法、装置、电子设备、存储介质及产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1815478A (zh) * | 2006-03-06 | 2006-08-09 | 阿里巴巴公司 | 在网页中实现表格局部滚动显示的方法及*** |
CN105022558A (zh) * | 2014-04-16 | 2015-11-04 | 珠海金山办公软件有限公司 | 一种调整电子表格中冻结区域的方法及*** |
CN105302787A (zh) * | 2015-11-10 | 2016-02-03 | 浪潮软件股份有限公司 | 一种表格数据编辑的方法及装置 |
CN105677624A (zh) * | 2014-11-20 | 2016-06-15 | 珠海金山办公软件有限公司 | 一种电子表格冻结区域调整方法及装置 |
CN106886511A (zh) * | 2016-06-21 | 2017-06-23 | 阿里巴巴集团控股有限公司 | 一种网络表格的处理方法及装置 |
CN108595097A (zh) * | 2018-05-10 | 2018-09-28 | 聚好看科技股份有限公司 | 页面滚动控制方法和装置及播放终端 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7454695B1 (en) * | 2000-05-19 | 2008-11-18 | Renderx, Inc. | Methods for rendering tables |
US11461077B2 (en) * | 2004-11-26 | 2022-10-04 | Philip K. Chin | Method of displaying data in a table with fixed header |
US7930323B2 (en) * | 2004-12-30 | 2011-04-19 | Sap Ag | Method for reallocating table formats in real-time |
US9195780B2 (en) * | 2011-09-30 | 2015-11-24 | Oracle International Corporation | Computer user interface including a data grid with a persistent display portion |
CN104516867A (zh) * | 2013-09-30 | 2015-04-15 | 北大方正集团有限公司 | 一种表格重排方法和*** |
US9760271B2 (en) * | 2014-07-28 | 2017-09-12 | International Business Machines Corporation | Client-side dynamic control of visualization of frozen region in a data table |
-
2018
- 2018-09-30 CN CN201811161935.2A patent/CN110968987B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1815478A (zh) * | 2006-03-06 | 2006-08-09 | 阿里巴巴公司 | 在网页中实现表格局部滚动显示的方法及*** |
CN105022558A (zh) * | 2014-04-16 | 2015-11-04 | 珠海金山办公软件有限公司 | 一种调整电子表格中冻结区域的方法及*** |
CN105677624A (zh) * | 2014-11-20 | 2016-06-15 | 珠海金山办公软件有限公司 | 一种电子表格冻结区域调整方法及装置 |
CN105302787A (zh) * | 2015-11-10 | 2016-02-03 | 浪潮软件股份有限公司 | 一种表格数据编辑的方法及装置 |
CN106886511A (zh) * | 2016-06-21 | 2017-06-23 | 阿里巴巴集团控股有限公司 | 一种网络表格的处理方法及装置 |
CN108595097A (zh) * | 2018-05-10 | 2018-09-28 | 聚好看科技股份有限公司 | 页面滚动控制方法和装置及播放终端 |
Also Published As
Publication number | Publication date |
---|---|
CN110968987A (zh) | 2020-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110968987B (zh) | 表格显示方法和装置、存储介质及电子装置 | |
US20200353355A1 (en) | Information object display method and apparatus in virtual scene, and storage medium | |
AU2013386836B2 (en) | Application window divider control for window layout management | |
CN105989130B (zh) | 电子地图展示方法、装置及电子设备 | |
JP4653097B2 (ja) | 小さな表示画面上での大きなオブジェクトの改善された表示方法 | |
US20120075333A1 (en) | Method and system for improving application sharing by dynamic partitioning | |
KR20030016313A (ko) | 멀티플 프레임 웹페이지를 위한 스크롤링 기능을 제공하는방법 | |
US9921797B2 (en) | Displaying user activity in real-time collaborative editing systems | |
WO2016094286A1 (en) | Intelligent browser-based display tiling | |
CN104350495A (zh) | 在全景显示中管理对象以导航电子表格 | |
EP3408752B1 (en) | Object management and visualization using a computing device | |
CN112114928A (zh) | 显示页面的处理方法和装置 | |
CN111625167A (zh) | 页面切换方法、装置、计算机设备 | |
CN105549936A (zh) | 数据表的显示方法和装置 | |
CN106201237A (zh) | 一种信息收藏方法及装置 | |
CN105302590A (zh) | 一种信息处理方法及装置 | |
CN111724226A (zh) | 信息展示方法、***、电子设备及存储介质 | |
CN110362776A (zh) | 浏览器前端数据存储方法、装置、设备及可读存储介质 | |
CN111222302A (zh) | 网页渲染的控制方法、控制装置以及计算机可读介质 | |
CN110765377B (zh) | 一种数据加载方法和装置 | |
CN115222840A (zh) | 表格渲染方法、计算机可读存储介质以及电子设备 | |
CN110968241B (zh) | 电子表格的处理方法、装置、计算机可以读存储介质和计算机设备 | |
CN109032476B (zh) | 一种在图形用户界面中显示大数据集的方法 | |
CN109960562B (zh) | 一种信息展示方法、装置和计算机可读存储介质 | |
CN114117274A (zh) | 一种数据渲染的方法、装置、计算机设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40021555 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |