CN107066439B - 一种定制表格控件的方法、装置及电子设备 - Google Patents
一种定制表格控件的方法、装置及电子设备 Download PDFInfo
- Publication number
- CN107066439B CN107066439B CN201710225070.0A CN201710225070A CN107066439B CN 107066439 B CN107066439 B CN 107066439B CN 201710225070 A CN201710225070 A CN 201710225070A CN 107066439 B CN107066439 B CN 107066439B
- Authority
- CN
- China
- Prior art keywords
- column
- adjustment
- cells
- width
- row
- 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
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000007405 data analysis Methods 0.000 claims description 3
- 230000003139 buffering effect Effects 0.000 claims description 2
- 230000008859 change Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 15
- 238000003860 storage Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种定制表格控件的方法、装置及电子设备,该方法包括:根据用户设定的行数及列数生成表格;获取原始数据;根据行数和列数从原始数据解析出对应表格中每一单元格的数据内容;根据每一数据内容计算出对应单元格的高度和宽度;根据所有单元格的高度和宽度计算得到表格每一行的调整行高和每一列的调整列宽;根据调整行高和调整列宽调整表格,得到调整表格。通过本发明的定制表格控件的方法生成的表格,可以根据对应单元格的数据内容,自适应改变表格的行高和列宽,从而极大提高应用该表格控件的应用程序的用户体验。
Description
技术领域
本发明涉及通信领域,更具体地,涉及一种定制表格控件的方法、装置及电子设备。
背景技术
表格,又称为表,即是一种可视化交流模式,又是一种组织整理数据的手段。人们在通讯交流、科学研究以及数据分析活动当中广泛采用着形形色色的表格。各种表格常常会出现在印刷介质、手写记录、计算机软件、建筑装饰、交通标志等许许多多地方。随着上下文的不同,用来确切描述表格的惯例和术语也会有所变化。此外,在种类、结构、灵活性、标注法、表达方法以及使用方面,不同的表格之间也炯然各异。在各种书籍和技术文章当中,表格通常放在带有编号和标题的浮动区域内,以此区别于文章的正文部分。
但是目前已有的自定制表格控件不能自适应调整表格的行高和列宽,影响用户体验。
发明内容
本发明的一个目的是提供一种可自适应调整表格行高和列宽的定制表格控件的新技术方案。
根据本发明的第一方面,提供了一种定制表格控件的方法,包括:
根据用户设定的行数及列数生成表格;
获取原始数据;
根据所述行数和所述列数从所述原始数据解析出对应所述表格中每一单元格的数据内容;
根据每一所述数据内容计算出对应单元格的高度和宽度;
根据所有单元格的高度和宽度计算得到所述表格每一行的调整行高和每一列的调整列宽;
根据所述调整行高和所述调整列宽调整所述表格,得到调整表格。
可选的是,所述方法还包括:
获取设备屏幕的尺寸,确定所述调整表格的显示行数和显示列数;
根据所述显示行数和所述显示列数确定所述调整表格的中显示的单元格作为显示单元格;
显示所述显示单元格及对应每一所述显示单元格的数据内容。
可选的是,所述方法还包括:
缓存与所述显示单元格相邻的单元格对应的数据内容。
可选的是,所述根据所有单元格的高度和宽度计算得到所述表格每一行的调整行高和每一列的调整列宽包括:
将每一行中所有单元格的高度的最大值作为对应行的调整行高,将每一列中所有单元格的宽度的最大值作为对应列的调整列宽。
根据本发明的第二方面,提供了一种定制表格控件的装置,包括:
表格生成模块,用于根据用户设定的行数及列数生成表格;
数据获取模块,用于获取原始数据;
数据解析模块,用于根据所述行数和所述列数从所述原始数据解析出对应所述表格中每一单元格的数据内容;
第一计算模块,用于根据每一所述数据内容计算出对应单元格的高度和宽度;
第二计算模块,用于根据所有单元格的高度和宽度计算得到所述表格每一行的调整行高和每一列的调整列宽;以及,
调整模块,用于根据所述调整行高和所述调整列宽调整所述表格,得到调整表格。
可选的是,所述装置还包括:
第一确定模块,用于获取设备屏幕的尺寸,确定所述调整表格的显示行数和显示列数;
第二确定模块,用于根据所述显示行数和所述显示列数确定所述调整表格的中显示的单元格作为显示单元格;以及,
显示模块,用于显示所述显示单元格及对应每一所述显示单元格的数据内容。
可选的是,所述装置还包括:
缓存模块,用于缓存与所述显示单元格相邻的单元格对应的数据内容。
可选的是,所述第二计算模块用于:将每一行中所有单元格的高度的最大值作为对应行的调整行高,将每一列中所有单元格的宽度的最大值作为对应列的调整列宽。
根据本发明的第三方面,提供了一种电子设备,包括根据本发明第二方面所述的装置。
根据本发明的第四方面,提供了一种电子设备,包括处理器和存储器,所述存储器用于存储指令,所述指令用于控制所述处理器执行根据本发明第一方面所述的方法。
本发明的一个有益效果在于,通过本发明的定制表格控件的方法生成的表格,可以根据对应单元格的数据内容,自适应改变表格的行高和列宽,从而极大提高应用该表格控件的应用程序的用户体验。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1为根据本发明一种定制表格控件的方法的一种实施方式的流程图;
图2为根据本发明一种定制表格控件的方法的另一种实施方式的流程图;
图3为根据本发明中表格的容器区分方式的示意图;
图4为根据本发明一种定制表格控件的装置的一种实施结构的方框原理图;
图5为根据本发明一种电子设备的一种实施结构的方框原理图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
为了解决现有技术中存在的自定制表格控件不能自适应调整表格的行高和列宽,影响用户体验的问题,提供了一种自适应调整表格尺寸的方法。该方法可以但不限于适用于安卓系统或者是iOS系统。
图1为根据本发明一种定制表格控件的方法的一种实施方法的流程图。
根据图1所示,该方法包括以下步骤:
步骤S110,根据用户设定的行数及列数生成表格。
其中,该表格中所有单元格的宽度可以相等均为初始宽度,所有单元格的高度也可以相等均为初始高度。
在本发明的第一实施例中,还可以将该表格分为三个部分,分别为容器A、容器B和容器C,每一容器的区域可以如图3所示,其中,容器A可以用于保存表格每一列的列标题,容器B可以用于保存表格每一行的行标题,容器C可以用于保存对应相应行标题和列标题的数据。
进一步地,容器A例如可以的行数可以但不局限于为0或者1,容器B的列数例如可以但不局限于为1,容器A、容器B和容器C的行数和列数可以是用户根据需要设定的。例如,在表格的行数被设定为100、列数被设定为50的情况下,容器A的行数可以为1、列数可以为50,容器B的行数可以为99、列数可以为2,容器C的行数可以为99,列数可以为48。
步骤S120,获取原始数据。
其中,原始数据具体可以是从数据库应用程序所使用的数据库或者数据库服务器中获取的,这些原始数据例如可以是二维数组形式的,可以是数组的行数与表格的行数相等,数组的列数与表格的列数也相等。
步骤S130,根据行数和列数从原始数据中解析出对应表格中每一单元格的数据内容。
具体的,原始数据中的所有的数据内容是按照数组形式保存的,因此可以根据每一数据内容的顺序对应至表格中相应位置的单元格。这样,所有的数据内容就可以和单元格一一对应起来。
在本发明的第一实施例中,原始数据可以是包括三组数据内容,分别与容器A、容器B和容器C内的单元格相对应,即第一组数据内容与容器A内的单元格向对应,第二组数据内容与容器B内的单元格相对应,第三组数据内容与容器C内的单元格相对应,且每一组数据内容均可以是按照数组形式保存的。那么,根据行数与列数从原始数据中解析出对应表格中每一单元格的数据内容的方法就可以为:根据第一组数据内容中每一数据内容的顺序对应至容器A中相应位置的单元格;根据第二组数据内容中每一数据内容的顺序对应至容器B中相应位置的单元格;根据第三组数据内容中每一数据内容的顺序对应至容器C中相应位置的单元格。
步骤S140,根据每一数据内容计算出对应单元格的高度和宽度。
具体的,单元格的宽度可以是有个最大值限制的,如果根据任一数据内容计算的单元格宽度超过了对应单元格的宽度最大值,就要将该数据内容在对应的单元格中换行显示,如果换行显示之后,对应单元格的高度超过了其初始高度,单元格会重新调整其高度,使得对应的数据内容能够全部显示。
步骤S150,根据所有单元格的高度和宽度计算得到表格每一行的调整行高和每一列的调整列宽。
进一步地,执行步骤S150的方法可以为:将每一行中所有单元格的高度的最大值作为对应行的调整行高,将每一列中所有单元格的宽度的最大值作为对应列的调整列宽。
在执行完步骤S150之后,将会锁死表格中每一列的列宽,即之后再动态输入数据的时候只调整对应单元格所在行的行高,该单元格所在列的列宽将不再调整。
步骤S160,根据调整行高和调整列宽调整该表格,得到调整表格。
具体的,在调整表格中,每一行的行高为对应的调整行高,每一列的列宽为对应的调整列宽。
这样,通过本发明的方法生成的表格,可以根据对应单元格的数据内容,自适应改变表格的行高和列宽,从而极大提高应用该表格控件的应用程序的用户体验。
图2为根据本发明一种定制表格控件的方法的另一种实施方式的流程图。如图2所示,在执行完步骤S160之后,该方法还包括步骤S210-S230:
步骤S210,获取设备屏幕的尺寸,确定调整表格的显示行数和显示列数。
具体的,根据屏幕的尺寸(包括屏幕的宽度和长度)、由第一行开始每一行的行高、由第一列开始每一列的列宽,确定该调整表格需要显示的行数作为显示行数,该调整表格需要显示的列数作为显示列数。
例如,屏幕的宽度为10cm,调整表格第一列的列宽为1cm,第二列的列宽为2cm,第三列的列宽为3cm,第四列的列宽为4cm,第五列的列宽为1cm,在此情况下,可以确定该调整表格的显示列数为四列。
再例如,屏幕的长度为16cm,调整表格每一行的行高均为2cm,那么,则可以确定该调整表格的显示行数为八行。
步骤S220,根据显示行数和显示列数确定调整表格的中显示的单元格作为显示单元格。
进一步地,当显示行数为M,显示列数为N时,显示单元格可以是从调整表格的第一行至第M行、第一列至第N列的区域内的所有单元格。
步骤S230,显示该显示单元格及对应每一显示单元格的数据内容。
在电子设备的屏幕上显示出调整表格中的所有显示单元格及对应每一显示单元格的数据内容。
在本发明的第一实施例中,在屏幕上显示出显示单元格时,容器A内单元格的显示顺序为从左到右,容器B内单元格的显示顺序为从左到右、从上到下,容器C内单元格的显示顺序为从左到右、从上到下,且每一容器内将单元格显示到屏幕上的顺序可以是固定的。
进一步地,在执行完步骤S230之后,本发明方法还可以包括:缓存与所述显示单元格相邻的单元格对应的数据内容。
在屏幕上显示出显示单元格之后,当用户滚动表格的时候,如果没有缓存机制,表格需要不断的创建新的单元格,因为这个过程消耗性能比较大,会导致卡顿。如果有缓存机制,滚动表格的时候,布局管理器会不断的把将要不显示了的单元格重新设置一下宽度、高度、数据内容和位置直接显示在适当区域,避免了重新创建单元格,避免了卡顿问题。该缓存机制最主要是为了解决显示的单元格在滚动过程中的卡顿问题,以提升用户体验。
具体的,在本发明的第一实施例中,管理容器A中单元格的是一个水平线性布局管理器,特性就是它专门管理水平方向的单元格,而且容器A中单元格只有一行。管理容器B中单元格的是一个垂直线性布局管理器,特性在于专门管理垂直方向的单元格,容器B中的单元格可以是一列,也可以是多列。管理容器C的是一个特殊的布局管理器,因为不同于水平线性布局管理器和垂直线性布局管理器,C是可以任何一个方向滑动的,要同时处理水平方向和垂直方向,所以要自定义布局管理器才能满足需求。
在此基础上,如果需要n*m个显示单元格才能填满屏幕的显示区域,那么IOS系统创建的数量则可以是(n+1)*(m+1),安卓系统创建的数量可以是(n+3)*(m+3)。
这样,当滚动表格的过程中,每一布局管理器会不断的把对应的将要显示的单元格重新设置一下宽度高度和内容和位置直接显示在屏幕上。
进一步地,容器A和容器B只显示只读文本,不能对单元格内的数据内容进行编辑。显示之前会根据表格的内容计算出每个单元格的宽度和高度再生成合适的单元格。容器C根据计算出来的宽度和高度以及内容数据生成单元格,该管理器还负责根据用户的触控事件来同时水平和垂直移动单元格,不断的回收旧的单元格和加载新的单元格,使得用户在滑动的时候能够高性能不卡顿的滑动表格,具体的,在容器C在滑动的时候,会同时通知容器A水平滑动相应的距离,并通知容器B垂直滑动相应的距离,以保证容器A、容器B和容器C同步滑动。
与上述方法相对应的,本发明还提供了一种定制表格控件的装置。
图4为根据本发明一种定制表格控件的装置的一种实施结构的方框原理图。
如图4所示,该装置400包括表格生成模块410、数据获取模块420、数据解析模块430、第一计算模块440、第二计算模块450和调整模块460。
上述表格生成模块410用于根据用户设定的行数及列数生成表格;
上述数据获取模块420用于获取原始数据;
上述数据解析模块430用于根据行数和列数从原始数据解析出对应表格中每一单元格的数据内容;
上述第一计算模块440用于根据每一数据内容计算出对应单元格的高度和宽度;
上述第二计算模块450用于根据所有单元格的高度和宽度计算得到表格每一行的调整行高和每一列的调整列宽;以及,
上述调整模块460用于根据调整行高和调整列宽调整表格,得到调整表格。
具体的,该第二计算模块450具体用于将每一行中所有单元格的高度的最大值作为对应行的调整行高,将每一列中所有单元格的宽度的最大值作为对应列的调整列宽。
进一步地,该装置400还包括第一确定模块、第二确定模块和显示模块,该第一确定模块用于获取设备屏幕的尺寸,确定调整表格的显示行数和显示列数;该第二确定模块用于根据显示行数和显示列数确定调整表格的中显示的单元格作为显示单元格;该显示模块用于显示显示单元格及对应每一显示单元格的数据内容。
在此基础上,该装置400还包括缓存模块,用于缓存与显示单元格相邻的单元格对应的数据内容。
本发明还提供了一种电子设备,在一方面,该电子设备包括前述的定制表格控件的装置400。
图5为根据本发明另一方面的该电子设备的一种实施结构的方框原理图。
根据图5所示,该电子设备500包括存储器501和处理器502,该存储器501用于存储指令,该指令用于控制处理器502进行操作以执行上述定制表格控件的方法。
该处理器502例如可以是中央处理器CPU、微处理器MCU等。该存储器501例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。
除此之外,根据图5所示,该电子设备500还包括接口装置503、输入装置504、显示装置505、通信装置506、扬声器507、麦克风508等等。尽管在图5中示出了多个装置,但是,本发明电子设备可以仅涉及其中的部分装置,例如,处理器501、存储器502、显示装置505等。
上述通信装置506例如能够进行有有线或无线通信。
上述接口装置503例如包括耳机插孔、USB接口等。
上述输入装置504例如可以包括触摸屏、按键等。
上述显示装置505例如是液晶显示屏、触摸显示屏等。
本发明电子设备例如可以是手机、平板电脑等电子产品。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。
Claims (5)
1.一种定制表格控件的方法,其特征在于,包括:
根据用户设定的行数及列数生成表格;
获取原始数据,其中,所述原始数据中的所有的数据内容是按照数组形式保存,所述数组的行数与表格行数相等,所述数组的列数与表格的列数相等;
根据所述行数和所述列数从所述原始数据解析出对应所述表格中每一单元格的数据内容;
根据每一所述数据内容计算出对应单元格的高度和宽度;
根据所有单元格的高度和宽度计算得到所述表格每一行的调整行高和每一列的调整列宽;
根据所述调整行高和所述调整列宽调整所述表格,得到调整表格;
获取设备屏幕的尺寸,确定所述调整表格的显示行数和显示列数;
根据所述显示行数和所述显示列数确定所述调整表格的中显示的单元格作为显示单元格;
显示所述显示单元格及对应每一所述显示单元格的数据内容;
缓存与所述显示单元格相邻的单元格对应的数据内容,所述显示单元格滚动时,将计算缓存的所述单元格的高度和宽度,并显示该单元格;
其中,所述根据每一所述数据内容计算出对应单元格的高度和宽度,包括:
对单元格的宽度进行最大值限制,得到单元格的宽度最大值;
若根据任一数据内容计算的单元格宽度超过对应单元格的宽度最大值,则对数据内容在对应的单元格中进行换行显示;
所述根据所有单元格的高度和宽度计算得到所述表格每一行的调整行高和每一列的调整列宽,包括:
将每一行中所有单元格的高度的最大值作为对应行的调整行高,将每一列中所有单元格的宽度的最大值作为对应列的调整列宽;
在所述根据所有单元格的高度和宽度计算得到所述表格每一行的调整行高和每一列的调整列宽之后,包括:
对表格中的每一列的列宽进行锁死,其中,列宽锁死用于在动态输入数据时不对列宽进行调整。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据用户的触控事件同时水平和垂直移动单元格,以使对单元格进行回收和加载,包括:
将表格分为三个部分,所述三个部分包括容器A、容器B和容器C,其中,所述容器A用于保存表格每一列的列标题,所述容器B用于保存表格每一行的行标题,所述容器C用于保存对应相应行标题和列标题的数据;
在容器C在滑动的时候,通知容器A水平滑动相应的距离,并通知容器B垂直滑动相应的距离,以保证所述容器A、所述容器B和所述容器C同步滑动。
3.一种定制表格控件的装置,其特征在于,包括:
表格生成模块,用于根据用户设定的行数及列数生成表格;
数据获取模块,用于获取原始数据,其中,所述原始数据中的所有的数据内容是按照数组形式保存,所述数组的行数与表格行数相等,所述数组的列数与表格的列数相等;
数据解析模块,用于根据所述行数和所述列数从所述原始数据解析出对应所述表格中每一单元格的数据内容;
第一计算模块,用于根据每一所述数据内容计算出对应单元格的高度和宽度,其中,所述根据每一所述数据内容计算出对应单元格的高度和宽度,包括:对单元格的宽度进行最大值限制,得到单元格的宽度最大值;若根据任一数据内容计算的单元格宽度超过对应单元格的宽度最大值,则对数据内容在对应的单元格中进行换行显示;
第二计算模块,用于根据所有单元格的高度和宽度计算得到所述表格每一行的调整行高和每一列的调整列宽,所述根据所有单元格的高度和宽度计算得到所述表格每一行的调整行高和每一列的调整列宽,包括:将每一行中所有单元格的高度的最大值作为对应行的调整行高,将每一列中所有单元格的宽度的最大值作为对应列的调整列宽;在所述根据所有单元格的高度和宽度计算得到所述表格每一行的调整行高和每一列的调整列宽之后,包括:对表格中的每一列的列宽进行锁死,其中,列宽锁死用于在动态输入数据时不对列宽进行调整;所述第二计算模块还用于:将每一行中所有单元格的高度的最大值作为对应行的调整行高,将每一列中所有单元格的宽度的最大值作为对应列的调整列宽;以及,
调整模块,用于根据所述调整行高和所述调整列宽调整所述表格,得到调整表格;
第一确定模块,用于获取设备屏幕的尺寸,确定所述调整表格的显示行数和显示列数;
第二确定模块,用于根据所述显示行数和所述显示列数确定所述调整表格的中显示的单元格作为显示单元格;以及,
显示模块,用于显示所述显示单元格及对应每一所述显示单元格的数据内容;
缓存模块,用于缓存与所述显示单元格相邻的单元格对应的数据内容,
所述缓存模块还用于,所述显示单元格滚动时,将计算缓存的所述单元格的高度和宽度,并显示该单元格。
4.一种电子设备,其特征在于,包括根据权利要求3所述的装置。
5.一种电子设备,其特征在于,包括处理器和存储器,所述存储器用于存储指令,所述指令用于控制所述处理器执行根据权利要求1或2所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710225070.0A CN107066439B (zh) | 2017-04-07 | 2017-04-07 | 一种定制表格控件的方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710225070.0A CN107066439B (zh) | 2017-04-07 | 2017-04-07 | 一种定制表格控件的方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107066439A CN107066439A (zh) | 2017-08-18 |
CN107066439B true CN107066439B (zh) | 2024-04-19 |
Family
ID=59601535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710225070.0A Active CN107066439B (zh) | 2017-04-07 | 2017-04-07 | 一种定制表格控件的方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107066439B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766309B (zh) * | 2017-08-29 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 数据表格生成方法、装置以及存储介质、电子装置 |
CN109460540A (zh) * | 2017-09-06 | 2019-03-12 | 北京国双科技有限公司 | 一种表格分页显示方法及装置 |
CN109508447A (zh) * | 2017-09-14 | 2019-03-22 | 长沙博为软件技术股份有限公司 | 一种固定行高列宽的表格数据分析方法 |
CN109164999B (zh) * | 2018-08-29 | 2022-03-08 | 郑州云海信息技术有限公司 | 一种表格自适应显示的方法、装置、设备及可读存储介质 |
CN109284494A (zh) * | 2018-09-07 | 2019-01-29 | 广州视源电子科技股份有限公司 | 一种动态调整表格的方法、装置、设备及存储介质 |
CN109240898A (zh) * | 2018-09-29 | 2019-01-18 | 郑州云海信息技术有限公司 | 一种虚拟化系统资源展示的方法及装置 |
CN109299449A (zh) * | 2018-10-10 | 2019-02-01 | 拉扎斯网络科技(上海)有限公司 | 表格处理方法、装置、电子设备及可读存储介质 |
CN109635263B (zh) * | 2018-11-22 | 2023-04-28 | 北京字节跳动网络技术有限公司 | 基于web超宽表格的列宽固定展示方法、装置及电子设备 |
CN111367594A (zh) * | 2018-12-25 | 2020-07-03 | 北京微播视界科技有限公司 | 列表管理组中的项cell的高度的处理方法及电子设备 |
CN111290680B (zh) * | 2020-01-21 | 2021-10-22 | 腾讯科技(深圳)有限公司 | 列表显示方法、装置、终端及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102939580A (zh) * | 2010-05-05 | 2013-02-20 | 微软公司 | 列宽或行高的多线程化调整 |
CN103455703A (zh) * | 2012-06-01 | 2013-12-18 | 株式会社东芝 | 计算机系统、医用图像诊断装置以及图像显示方法 |
CN103631824A (zh) * | 2012-08-28 | 2014-03-12 | 腾讯科技(深圳)有限公司 | 一种网页显示方法及装置 |
CN103699374A (zh) * | 2013-12-02 | 2014-04-02 | 厦门雅迅网络股份有限公司 | 一种基于Android平台的灵活自定制表格控件的方法 |
JP2015170011A (ja) * | 2014-03-05 | 2015-09-28 | 日本電気株式会社 | 表レイアウト生成装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150339006A1 (en) * | 2014-05-21 | 2015-11-26 | Facebook, Inc. | Asynchronous Preparation of Displayable Sections of a Graphical User Interface |
-
2017
- 2017-04-07 CN CN201710225070.0A patent/CN107066439B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102939580A (zh) * | 2010-05-05 | 2013-02-20 | 微软公司 | 列宽或行高的多线程化调整 |
CN103455703A (zh) * | 2012-06-01 | 2013-12-18 | 株式会社东芝 | 计算机系统、医用图像诊断装置以及图像显示方法 |
CN103631824A (zh) * | 2012-08-28 | 2014-03-12 | 腾讯科技(深圳)有限公司 | 一种网页显示方法及装置 |
CN103699374A (zh) * | 2013-12-02 | 2014-04-02 | 厦门雅迅网络股份有限公司 | 一种基于Android平台的灵活自定制表格控件的方法 |
JP2015170011A (ja) * | 2014-03-05 | 2015-09-28 | 日本電気株式会社 | 表レイアウト生成装置 |
Non-Patent Citations (1)
Title |
---|
许建中 ; .基于BCB自动控制Word表格.中国科技信息.2008,(第23期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN107066439A (zh) | 2017-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107066439B (zh) | 一种定制表格控件的方法、装置及电子设备 | |
US11252158B2 (en) | Interactive user-interface to adjust access privileges | |
US9778834B2 (en) | Multidimensional split view for a pivot table or other grid-based component | |
CN106462403B (zh) | 根据用户意图预获取网格块 | |
DE102013103616A1 (de) | Berührungsbildschirm Texteingabe | |
CN110825997B (zh) | 信息流页面的显示方法、装置、终端设备及系统 | |
WO2014093515A1 (en) | Smart whiteboard interactions | |
US8832591B2 (en) | Grid display device and grid display method in mobile terminal | |
US20140298218A1 (en) | Automatic application of templates to content | |
US10180780B2 (en) | Portable electronic device including touch-sensitive display and method of controlling selection of information | |
US9734555B2 (en) | Generating a tree map | |
CN105700766B (zh) | 用户界面显示系统及方法 | |
CN105808110B (zh) | 表格显示方法及显示设备 | |
US20160154564A1 (en) | Electronic device and method for providing desktop user interface | |
AU2014308633A1 (en) | Swipe toolbar to switch tabs | |
CN108369485A (zh) | 弧形键盘布局 | |
US20150169168A1 (en) | Methods and systems for managing displayed content items on touch-based computer devices | |
US8788965B2 (en) | Method and device for displaying data by adjusting the size of controls | |
US10235043B2 (en) | Keyboard for use with a computing device | |
CN114415921A (zh) | 列表滑动的实现方法、装置、电子设备及存储介质 | |
CN112733214B (zh) | 一种信息显示的方法及装置 | |
KR101333269B1 (ko) | 이동통신 단말기 및 그 화면 표시방법 | |
CN105516229B (zh) | 一种更新虚拟桌面的方法和装置 | |
CA2816785C (en) | Portable electronic device including touch-sensitive display and method of controlling same | |
CN109933753B (zh) | 一种在列表中排列对象的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Wang Jian Inventor after: Liao Dongming Inventor after: Chen Yonghui Inventor after: Liang Yuanming Inventor before: Liao Dongming Inventor before: Liang Yuanming |
|
GR01 | Patent grant | ||
GR01 | Patent grant |