基于动态字段的表格展示方法、装置、计算机设备及介质转让专利

申请号 : CN202110697211.5

文献号 : CN113268949B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈伟红

申请人 : 深圳平安智汇企业信息管理有限公司

摘要 :

本申请实施例属于页面展示领域,涉及一种基于动态字段的表格展示方法,包括获取待展示表格,确定待展示表格中每列展示的字段类型,根据字段类型确定待展示表格中的固定列和动态列,并得到固定列的固定列数量和每个固定列的固定列宽,动态列的动态列数量和每个动态列的动态列宽,计算出全部固定列固定总列宽和全部动态列动态总列宽,根据容器宽度和固定总列宽计算剩余宽度,根据剩余宽度和动态总列宽调整待展示表格的动态列宽,形成展示布局。本申请还提供一种基于动态字段的表格展示装置、计算机设备及介质。此外,本申请还涉及区块链技术,待展示表格可存储于区块链中。本申请可以根据容器宽度和表格列宽动态调整展示布局,提升表格的展示效果。

权利要求 :

1.一种基于动态字段的表格展示方法,其特征在于,包括下述步骤:获取待展示表格,确定所述待展示表格中每列展示的字段类型;

根据所述字段类型确定所述待展示表格中的固定列和动态列,并得到所述固定列的固定列数量和所述动态列的动态列数量,以及得到每个所述固定列的固定列宽和每个所述动态列的动态列宽;

根据所述固定列数量和所述固定列宽,计算出全部所述固定列的固定总列宽,根据所述动态列数量和所述动态列宽,计算出全部所述动态列的动态总列宽;

获取容纳所述待展示表格的容器宽度,根据所述容器宽度以及所述固定总列宽,计算得到剩余宽度;

比较所述剩余宽度和所述动态总列宽,得到比较结果;

根据所述比较结果调整所述待展示表格的所述动态列宽,形成所述待展示表格的展示布局,并按照所述展示布局展示所述待展示表格;

其中,根据所述比较结果调整所述待展示表格的所述动态列宽,形成所述待展示表格的展示布局,并按照所述展示布局展示所述待展示表格的步骤包括:当所述动态总列宽小于所述剩余宽度,则根据所述动态列数量将所述剩余宽度均匀分配给所述动态列,按照调整动态列宽后的表格展示文本内容;

当所述动态总列宽等于所述剩余宽度,则保持所述动态列宽不变,不改变待展示表格的展示布局,直接进行展示;

当所述动态总列宽大于所述剩余宽度,则保持所述动态列宽不变,所述待展示表格生成滚动条,根据滚动条展示文本内容。

2.根据权利要求1所述的基于动态字段的表格展示方法,其特征在于,在所述获取待展示表格的步骤之前还包括:获取每个所述字段类型的字数长度,根据所述字数长度设置与所述字数长度匹配的列宽,其中,所述字段类型为长文本的设置最小列宽,除所述长文本之外的所述字段类型设置为固定宽度。

3.根据权利要求2所述的基于动态字段的表格展示方法,其特征在于,所述根据所述字段类型确定所述待展示表格中的固定列和动态列的步骤包括:在当前列的所述字段类型为所述长文本时,则所述当前列为动态列;

在当前列的所述字段类型不是所述长文本时,则所述当前列为固定列。

4.根据权利要求1所述的基于动态字段的表格展示方法,其特征在于,在所述获取每个所述字段类型的字数长度,根据所述字数长度设置与所述字数长度匹配的列宽的步骤之后还包括:设置所述待展示表格的单元格展示文本内容的最多展示行数为N,其中,N为大于零的自然数。

5.根据权利要求4所述的基于动态字段的表格展示方法,其特征在于,在所述根据所述比较结果调整所述待展示表格的所述动态列宽,形成所述待展示表格的展示布局的步骤之后还包括:计算调整所述动态列宽之后的每个列宽在所述最多展示行数下的最大展示字数,并获取所述表格单元格中待展示的全部字数;

比较所述最大展示字数和所述全部字数;

当所述全部字数小于或者等于所述最大展示字数,则在所述表格单元格展示所述全部字数;

当所述全部字数大于所述最大展示字数,则在所述表格单元格添加展开功能。

6.根据权利要求5所述的基于动态字段的表格展示方法,其特征在于,所述在所述单元格添加展开功能的步骤包括:从所述全部字数中截取与所述最大展示字数相等的部分字数,作为展示字符,并在所述展示字符的末尾添加所述展开功能。

7.一种基于动态字段的表格展示装置,其特征在于,包括:获取模块,用于获取待展示表格,确定所述待展示表格中每列展示的字段类型;

识别模块,用于根据所述字段类型确定所述待展示表格中包含的固定列的固定列数量和动态列的动态列数量,并得到每个所述固定列的固定列宽以及每个所述动态列的动态列宽;

计算模块,用于根据所述固定列数量和所述固定列宽,计算出全部所述固定列的固定总列宽,根据所述动态列数量和所述动态列宽,计算出全部所述动态列的动态总列宽;

计算模块,还用于获取容纳所述待展示表格的容器宽度,根据所述容器宽度以及所述固定总列宽,计算得到剩余宽度;

比较模块,用于将所述剩余宽度和所述动态列宽进行比较,得到比较结果;

调整展示模块,用于根据所述比较结果调整所述待展示表格的所述动态列宽,形成所述待展示表格的展示布局,并按照所述展示布局展示所述待展示表格;

其中,所述调整展示模块进一步用于:

当所述动态总列宽小于所述剩余宽度,则根据所述动态列数量将所述剩余宽度均匀分配给所述动态列,按照调整动态列宽后的表格展示文本内容;

当所述动态总列宽等于所述剩余宽度,则保持所述动态列宽不变,不改变待展示表格的展示布局,直接进行展示;

当所述动态总列宽大于所述剩余宽度,则保持所述动态列宽不变,所述待展示表格生成滚动条,根据滚动条展示文本内容。

8.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至6中任一项所述的基于动态字段的表格展示方法的步骤。

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至6中任一项所述的基于动态字段的表格展示方法的步骤。

说明书 :

基于动态字段的表格展示方法、装置、计算机设备及介质

技术领域

[0001] 本申请涉及页面展示技术领域,尤其涉及一种基于动态字段的表格展示方法、装置、计算机设备及介质。

背景技术

[0002] 大多数的组件库的表格组件,包括Element UI,iView,和自研的Boya,对于表格内容的展示处理都是大同小异的,在保证通用性的前提下,仍需保证较高的可配置性。为了满足不同业务的需求,要求达到表头字段是可以动态配置的,包括字段类型、字段内容以及字段数量等,但是,对于表格内容的展示却没有进行动态配置,即表格不会在容器宽度、表格单元格内容发生变化时进行适配配置,导致表格很难达到一个美观简洁的展示效果。

发明内容

[0003] 本申请实施例的目的在于提出一种基于动态字段的表格展示方法、装置、计算机设备及介质,以解决相关技术中表格无法根据展示内容进行适配调整,以达到美观简洁的展示效果的技术问题。
[0004] 为了解决上述技术问题,本申请实施例提供一种基于动态字段的表格展示方法,采用了如下所述的技术方案:
[0005] 获取待展示表格,确定所述待展示表格中每列展示的字段类型,根据所述字段类型确定所述待展示表格中包含的固定列的固定列数量和动态列的动态列数量,并得到每个所述固定列的固定列宽以及每个所述动态列的动态列宽;
[0006] 根据所述固定列数量和所述固定列宽,计算出全部所述固定列的固定总列宽,根据所述动态列数量和所述动态列宽,计算出全部所述动态列的动态总列宽;
[0007] 获取容纳所述待展示表格的容器宽度,根据所述容器宽度以及所述固定总列宽,计算得到剩余宽度;
[0008] 将所述剩余宽度和所述动态列宽进行比较,得到比较结果;
[0009] 根据所述比较结果调整所述动态列宽,形成所述待展示表格的展示布局,并按照所述展示布局展示所述待展示表格。
[0010] 进一步的,在所述获取待展示表格的步骤之前还包括:
[0011] 获取每个所述字段类型的字数长度,根据所述字数长度设置与所述字数长度匹配的列宽,其中,所述字段类型为长文本的设置最小列宽,除所述长文本之外的所述字段类型设置为固定宽度。
[0012] 进一步的,所述根据所述字段类型确定所述待展示表格中的固定列和动态列的步骤包括:
[0013] 在当前列的所述字段类型为所述长文本时,则所述当前列为动态列;
[0014] 在当前列的所述字段类型不是所述长文本时,则所述当前列为固定列。
[0015] 进一步的,所述根据所述比较结果调整所述动态列宽,形成所述待展示表格的展示布局的步骤包括:
[0016] 当所述动态总列宽小于所述剩余宽度,则根据所述动态列数量将所述剩余宽度均匀分配给所述动态列;
[0017] 当所述动态总列宽等于所述剩余宽度,则保持所述动态列宽不变;
[0018] 当所述动态总列宽大于所述剩余宽度,则保持所述动态列宽不变,所述待展示表格生成滚动条。
[0019] 进一步的,在所述获取每个所述字段类型的字数长度,根据所述字数长度设置与所述字数长度匹配的列宽的步骤之后还包括:
[0020] 设置所述待展示表格的单元格展示文本内容的最多展示行数为N,其中,N为大于零的自然数。
[0021] 进一步的,在所述根据所述比较结果调整所述动态列宽,形成所述待展示表格的展示布局的步骤之后还包括:
[0022] 计算调整所述动态列宽之后的每个列宽在所述最多展示行数下的最大展示字数,并获取所述表格单元格中待展示的全部字数;
[0023] 比较所述最大展示字数和所述全部字数;
[0024] 当所述全部字数小于或者等于所述最大展示字数,则在所述表格单元格展示所述全部字数;
[0025] 当所述全部字数大于所述最大展示字数,则在所述表格单元格添加展开功能。
[0026] 进一步的,所述在所述单元格添加展开功能的步骤包括:
[0027] 从所述全部字数中截取与所述最大展示字数相等的部分字数,作为展示字符,并在所述展示字符的末尾添加所述展开功能。
[0028] 为了解决上述技术问题,本申请实施例还提供一种基于动态字段的表格展示装置,采用了如下所述的技术方案:
[0029] 获取模块,用于获取待展示表格,确定所述待展示表格中每列展示的字段类型;
[0030] 识别模块,用于根据所述字段类型确定所述待展示表格中包含的固定列的固定列数量和动态列的动态列数量,并得到每个所述固定列的固定列宽以及每个所述动态列的动态列宽;
[0031] 计算模块,用于根据所述固定列数量和所述固定列宽,计算出全部所述固定列的固定总列宽,根据所述动态列数量和所述动态列宽,计算出全部所述动态列的动态总列宽;
[0032] 计算模块,还用于获取容纳所述待展示表格的容器宽度,根据所述容器宽度以及所述固定总列宽,计算得到剩余宽度;
[0033] 比较模块,用于将所述剩余宽度和所述动态列宽进行比较,得到比较结果;
[0034] 调整展示模块,用于根据所述比较结果调整所述待展示表格的所述动态列宽,形成所述待展示表格的展示布局,并按照所述展示布局展示所述待展示表格。
[0035] 为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
[0036] 该计算机设备包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如上所述的基于动态字段的表格展示方法的步骤。
[0037] 为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
[0038] 所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上所述的基于动态字段的表格展示方法的步骤。
[0039] 与现有技术相比,本申请实施例主要有以下有益效果:
[0040] 本申请通过获取待展示表格,确定待展示表格中每列展示的字段类型,根据字段类型确定待展示表格中包含的固定列的固定列数量和动态列的动态列数量,得到每个固定列的固定列宽以及每个动态列的动态列宽,根据固定列数量和固定列宽,计算出全部固定列的固定总列宽,根据动态列数量和动态列宽,计算出全部动态列的动态总列宽,然后获取容纳待展示表格的容器宽度,根据容器宽度以及固定总列宽,计算得到剩余宽度,比较剩余宽度和动态列宽,得到比较结果,根据比较结果动态调整动态列宽,形成待展示表格的展示布局,并按照展示布局展示待展示表格;本申请通过从获取的待展示表格中确定每列展示的字段类型,从而确定待展示表格包含的固定列和动态列,计算出所有固定列的固定总列宽以及所有动态列的动态总列宽,并比较剩余宽度和第二总宽度,根据比较结果动态调整动态列宽,按照确定的展示布局展示表格,可以根据容器宽度和表格列宽动态调整动态列宽,使得表格可以根据容器宽度变化以及表格的展示内容实现展示布局的动态调整,提升表格的展示效果。

附图说明

[0041] 为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0042] 图1是本申请可以应用于其中的示例性系统架构图;
[0043] 图2是根据本申请的基于动态字段的表格展示方法的一个实施例的流程图;
[0044] 图3是根据本申请的基于动态字段的表格展示方法的一种具体实施方式的流程图;
[0045] 图4是根据本申请的基于动态字段的表格展示装置的一个实施例的结构示意图;
[0046] 图5是根据本申请的计算机设备的一个实施例的结构示意图。

具体实施方式

[0047] 除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
[0048] 在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
[0049] 为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
[0050] 为了解决相关技术中表格无法根据展示内容进行适配调整,以达到美观简洁的展示效果的问题,本申请提供了一种基于动态字段的表格展示方法,涉及人工智能,可以应用于如图1所示的系统架构100中,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
[0051] 用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
[0052] 终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
[0053] 服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
[0054] 需要说明的是,本申请实施例所提供的基于动态字段的表格展示方法一般由终端设备执行,相应地,基于动态字段的表格展示装置一般设置于终端设备中。
[0055] 应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
[0056] 继续参考图2,示出了根据本申请的基于动态字段的表格展示方法的一个实施例的流程图,包括以下步骤:
[0057] 步骤S201,获取待展示表格,确定待展示表格中每列展示的字段类型。
[0058] 在本实施例中,字段类型是动态变化的,确定待展示表格中每列展示的字段类型,可以通过设置的字段类型参数来识别待展示表格中每列的字段类型。具体地,可以通过设置字段类型的宽度来进行识别。
[0059] 由此,在获取待展示表格的步骤之前,根据字段类型配置与字段类型匹配的列宽,具体的步骤包括:
[0060] 获取每个字段类型的字数长度,根据字数长度设置与字数长度匹配的列宽,其中,字段类型为长文本的设置最小列宽,除长文本之外的字段类型设置为固定宽度。
[0061] 应当理解,表格根据业务的不同会进行不同文本内容的展示,表格中每列展示的文本内容对应的字段类型也是不同的,字段类型包括但不限于长文本、短文本、日期、数值以及下拉选项等。
[0062] 分析并获取每个字段类型通常的字数长度,具体地,根据展示内容对应的字符类型计算字数长度,字符类型包括中文、英文、标点符号、特殊字符等,不同字符类型对应的字数长度的计算方法是不同的,需要分别计算,例如,一个英文字母为1个字数长度,一个中文汉字为2个字数长度,一个中文标点符号为2个字数长度,一个英文标点符号为1个字数长度等。
[0063] 应当理解,一个中文汉字相当于一个字符,一个英文字母也相当于一个字符,而一个字符的字数长度根据实际编码来决定。
[0064] 在本实施例中,长文本由于字数长度较长,可以为其设置最小列宽,其他字段类型可以设置为固定宽度,例如日期,日期的格式为2021.03.10,其字数长度设置为10,则可以设置日期对应的列宽为10。
[0065] 应当理解,为除长文本之外的字段类型设置的固定宽度,可以大于等于对应字段类型的字数长度。
[0066] 在本实施例中,可以通过设置字数长度的预设阈值M,来区分长文本和短文本,字数长度大于M的文本为长文本,字数长度小于等于M的文本为短文本。
[0067] 需要说明的是,短文本也属于除长文本之外的字段类型,将短文本设置成固定宽度,短文本的列宽可以设置为M,长文本设置的最小列宽大于M即可。
[0068] 本实施例通过设置与字段类型匹配的列宽,可以使得表格在展示时根据展示内容的字段类型进行表格列宽调整。
[0069] 在本实施例的一些可选的实现方式中,在获取每个所述字段类型的字数长度,根据所述字数长度设置与所述字数长度匹配的列宽步骤之后还包括:
[0070] 设置待展示表格的单元格展示文本内容的最多展示行数为N,其中,N为大于零的自然数。
[0071] 通过设置表格单元格最多的展示行数,若显示的文本内容超过最多的展示行数,可以通过添加展开功能来进行操作,可以避免展示过多的内容,影响展示效果。
[0072] 需要强调的是,为进一步保证待展示表格的私密和安全性,上述待展示表格还可以存储于一区块链的节点中。
[0073] 本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
[0074] 步骤S202,根据字段类型确定待展示表格中的固定列和动态列,并得到固定列的固定列数量和动态列的动态列数量,以及得到每个固定列的固定列宽和每个动态列的动态列宽。
[0075] 在本实施例中,预先根据字段类型设置与字段类型匹配的列宽,识别出待展示表格每列的字段类型,根据字段类型确定每列是固定列还是动态列,进而得到固定列的固定列数量和每个固定列的固定列宽,以及动态列的动态列数量和每个动态列的动态列宽。
[0076] 应当理解,固定列为列宽固定的列,例如将列宽设置为固定宽度的短文本、日期等字段类型对应的列,动态列为列宽会变化的列,例如字段类型为长文本对应的列,会根据容器宽度、动态列的列数量以及固定列的总宽度进行计算得到。
[0077] 步骤S203,根据固定列数量和固定列宽,计算出全部固定列的固定总列宽,根据动态列数量和动态列宽,计算出全部动态列的动态总列宽。
[0078] 具体地,根据得到的每个固定列的固定列宽以及对应的固定列数量可以得到固定列的固定总列宽,例如,假设固定列有3列,每列的列宽分别为a、b和c,则固定总列宽=a+b+c。
[0079] 动态列的动态列宽为设置的最小列宽,根据最小列宽和对应的动态列数量计算出的动态列的动态总列宽,例如,动态列有4列,最小列宽设置为x,则动态总列宽=x*4。
[0080] 应当理解,当前动态列的动态列宽并不是待展示表格进行展示时动态列的最终列宽,动态列的最终列宽要根据容器宽度、动态列的动态列数量以及固定列的固定总列宽进行计算得到。
[0081] 步骤S204,获取容纳待展示表格的容器宽度,根据容器宽度以及固定总列宽,计算得到剩余宽度。
[0082] 容器为放置表格进行展示的区域,可以是整个屏幕,也可以是屏幕的某个区域。获取到的容器宽度为当前展示表格的容器宽度,根据容器宽度和固定总列宽可以计算出剩余宽度,具体的,剩余宽度=容器宽度-固定列宽。
[0083] 剩余宽度是用于分配给动态列的,根据剩余宽度和动态列的动态列数量可以算出每个动态列的实际列宽,可以实现表格展示与页面的适配性。
[0084] 需要说明的是,若容器宽度发生变化,根据当前容器宽度重新计算剩余宽度。
[0085] 步骤S205,比较剩余宽度和动态总列宽,得到比较结果。
[0086] 具体地,比较剩余宽度和动态总列宽的大小,得到的比较结果用于调整待展示表格的展示布局。
[0087] 步骤S206,根据比较结果动态调整待展示表格的动态列宽,形成待展示表格的展示布局,并按照展示布局展示待展示表格。
[0088] 具体地,当动态总列宽小于剩余宽度,则根据动态列数量将剩余宽度均匀分配给动态列。
[0089] 动态列具有最小列宽,各动态列的最小列宽之和小于剩余宽度,将剩余宽度均匀分配给每个动态列。
[0090] 在一种具体的实现方式中,若各动态列的最小列宽之和小于剩余宽度,可以计算出剩余宽度和动态总列宽的差值,将差值均匀分配给每个动态列,则动态列的最终列宽为最小列宽与均匀分配的差值之和。
[0091] 当动态总列宽等于剩余宽度,则保持动态列宽不变;当动态总列宽大于剩余宽度,则保持动态列宽不变,待展示表格生成滚动条。
[0092] 在动态总列宽大于剩余宽度的情况下,为了保证表格的展示效果,避免表格展示的内容溢出容器,表格会生成滚动条,滚动条可以在表格底部生成,表格可以根据滚动条动态显示表格的内容。滚动条可以采用tree控件(树控件)生成。
[0093] 在本实施例中,按照展示布局展示待展示表格,具体地,当动态总列宽小于剩余宽度时,将剩余宽度均匀分配给每个动态列,按照调整动态列宽后的表格展示文本内容;当动态总列宽大于剩余宽度时,不改变待展示表格的展示布局,直接进行展示;当动态总列宽大于剩余宽度时,表格生成滚动条后,在表格中根据滚动条展示文本内容。
[0094] 本申请通过获取的待展示表格中确定每列展示的字段类型,从而确定待展示表格包含的固定列和动态列,计算出所有固定列的固定总列宽以及所有动态列的动态总列宽,并比较剩余宽度和第二总宽度,根据比较结果动态调整展示布局,按照确定的展示布局展示表格,可以根据容器宽度和表格列宽动态调整展示布局,使得表格可以根据容器宽度变化以及表格的展示内容实现展示布局的动态调整,提升表格的展示效果。
[0095] 在本实施例的一些可选的实现方式中,在步骤206中的根据比较结果动态调整动态列宽,形成待展示表格的展示布局之后,还可以执行以下步骤:
[0096] 计算调整展示布局之后的每个列宽在最多展示行数下的最大展示字数,并获取表格单元格中待展示的全部字数;
[0097] 比较最大展示字数和全部字数;
[0098] 当全部字数小于或者等于最大展示字数,则在表格单元格展示全部字数;
[0099] 当全部字数大于最大展示字数,则在表格单元格添加展开功能。
[0100] 表格中每个字符的大小是预先设置的,根据每个字符的大小和表格单元格的大小,可以确定出最大的展示字数。
[0101] 在本实施例中,当全部字数大于最大展示字数,在表格单元格添加展开功能,具体地,从全部字数中截取与最大展示字数相等的部分字数,作为展示字符,并在展示字符的末尾添加展开功能。
[0102] 在一些可选的实现方式中,参见图3所示,在展示字符的末尾添加展开功能的具体步骤如下:
[0103] 步骤S301,剔除所述展示字符的末尾字符,将所述末尾字符对应的区域设置为未展示字符标识的展示区域。
[0104] 结合当前所确定的展示字符的字数和全部字数,可以准确确定未展示字符的数量,为了给表示未展示字符的标识预留位置,需要从当前展示字符的末尾剔除部分字符,以留出添加未展示字符标识的区域,即未展示字符标识展示区域。通常,所添加的未展示的字符标识会占据一个字符的区域,因此,从展示字符中剔除末尾的一个字符即可,可选地,可以根据所要添加的标识的实际占用区域,从展示字符中剔除末尾的多个字符,对应得到未展示字符标识的展示区域。
[0105] 可选地,在展示字符的末尾添加展开功能还可以是在展示字符的末尾字符处某个悬浮位置添加展开功能,不需要剔除末尾字符。
[0106] 步骤S302,在所述未展示字符标识处添加所述展开功能。
[0107] 展开功能用于展示未展示字符,展开功能可以是省略符,通过点击省略符获得未展示字符对应的所有内容,以向用户进行展示,展示功能还可以是将鼠标悬浮于表格单元格之上,通过显示气泡展示未展示字符对应的所有内容。在本提案中,气泡可以通过render方法动态嵌套Poptip来实现,render方法为前端框架提供的渲染html的函数,poptip是显示全部内容的气泡。
[0108] 具体地,写好Poptip的内容,大小,出现在表格单元格的方向等;各个表格单元格调用render函数,分别渲染Poptip;生成具有气泡效果的表格单元格。
[0109] 需要说明的是,只有表格单元格实际展示的全部内容超出最多展示行数展示的内容之后,才渲染出气泡。
[0110] 本申请通过在待展示的全部字数大于最大展示字数时,添加展开功能,可以使得表格展示更加简洁美观。
[0111] 本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0112] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read‑Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
[0113] 应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0114] 进一步参考图4,作为对上述图2所示方法的实现,本申请提供了一种基于动态字段的表格展示装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
[0115] 如图4所示,本实施例所述的基于动态字段的表格展示装置400包括:获取模块401、识别模块402、计算模块403、比较模块404以及调整展示模块405。其中:
[0116] 获取模块401用于获取待展示表格,确定所述待展示表格中每列展示的字段类型;
[0117] 识别模块402用于根据所述字段类型确定所述待展示表格中包含的固定列的固定列数量和动态列的动态列数量,并得到每个所述固定列的固定列宽以及每个所述动态列的动态列宽;
[0118] 计算模块403用于根据所述固定列数量和所述固定列宽,计算出全部所述固定列的固定总列宽,根据所述动态列数量和所述动态列宽,计算出全部所述动态列的动态总列宽;
[0119] 计算模块403还用于获取容纳所述待展示表格的容器宽度,根据所述容器宽度以及所述固定总列宽,计算得到剩余宽度;
[0120] 比较模块404用于将所述剩余宽度和所述动态列宽进行比较,得到比较结果;
[0121] 调整展示模块405用于根据所述比较结果动态调整所述待展示表格的所述动态列宽,形成所述待展示表格的展示布局,并按照所述展示布局展示所述待展示表格。
[0122] 需要强调的是,为进一步保证待展示表格的私密和安全性,上述待展示表格还可以存储于一区块链的节点中。
[0123] 上述提供的基于动态字段的表格展示装置,通过获取的待展示表格中确定每列展示的字段类型,从而确定待展示表格包含的固定列和动态列,计算出所有固定列的固定总列宽以及所有动态列的动态总列宽,并比较剩余宽度和第二总宽度,根据比较结果动态调整动态列宽,形成待展示表格的展示布局,按照确定的展示布局展示表格,可以根据容器宽度和表格列宽动态调整动态列宽,使得表格可以根据容器宽度变化以及表格的展示内容实现展示布局的动态调整,提升表格的展示效果。
[0124] 在本实施例中,基于动态字段的表格展示装置400还包括设置模块,设置模块用于:
[0125] 获取每个所述字段类型的字数长度,根据所述字数长度设置与所述字数长度匹配的列宽,其中,所述字段类型为长文本的设置最小列宽,除所述长文本之外的所述字段类型设置为固定宽度。
[0126] 本实施例通过设置与字段类型匹配的列宽,可以使得表格在展示时根据展示内容的字段类型进行表格列宽调整。
[0127] 在本实施例中,识别模块402进一步用于:
[0128] 在当前列的所述字段类型为所述长文本时,则所述当前列为动态列;
[0129] 在当前列的所述字段类型不是所述长文本时,则所述当前列为固定列。
[0130] 在本实施例中,调整展示模块405进一步用于:
[0131] 当所述动态总列宽小于所述剩余宽度,则根据所述动态列数量将所述剩余宽度均匀分配给所述动态列;
[0132] 当所述动态总列宽等于所述剩余宽度,则保持所述动态列宽不变;
[0133] 当所述动态总列宽大于所述剩余宽度,则保持所述动态列宽不变,所述待展示表格生成滚动条。
[0134] 在本实施例的一些可选的实现方式中,设置模块还用于:设置所述待展示表格的单元格展示文本内容的最多展示行数为N,其中,N为大于零的自然数。
[0135] 通过设置表格单元格最多的展示行数,若显示的文本内容超过最多的展示行数,可以通过添加展开功能来进行操作,可以避免展示过多的内容,影响展示效果。
[0136] 在本实施例的一些可选的实现方式中,调整展示模块405还用于:
[0137] 计算调整所述展示布局之后的每个列宽在所述最多展示行数下的最大展示字数,并获取所述表格单元格中待展示的全部字数;
[0138] 比较所述最大展示字数和所述全部字数;
[0139] 当所述全部字数小于或者等于所述最大展示字数,则在所述表格单元格展示所述全部字数;
[0140] 当所述全部字数大于所述最大展示字数,则在所述表格单元格添加展开功能。
[0141] 通过根据比较结果动态调整待展示表格的展示布局,可以保证表格的展示效果,还可以避免表格展示的内容溢出容器。
[0142] 在本实施例中,调整展示模块405还进一步用于:
[0143] 从所述全部字数中截取与所述最大展示字数相等的部分字数,作为展示字符,并在所述展示字符的末尾添加所述展开功能。
[0144] 通过在待展示的全部字数大于最大展示字数时,添加展开功能,可以使得表格展示更加简洁美观。
[0145] 为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图5,图5为本实施例计算机设备基本结构框图。
[0146] 所述计算机设备5包括通过系统总线相互通信连接存储器51、处理器52、网络接口53。需要指出的是,图中仅示出了具有组件51‑53的计算机设备5,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
[0147] 所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
[0148] 所述存储器51至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器51可以是所述计算机设备5的内部存储单元,例如该计算机设备5的硬盘或内存。在另一些实施例中,所述存储器51也可以是所述计算机设备5的外部存储设备,例如该计算机设备5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器51还可以既包括所述计算机设备5的内部存储单元也包括其外部存储设备。本实施例中,所述存储器51通常用于存储安装于所述计算机设备5的操作系统和各类应用软件,例如基于动态字段的表格展示方法的计算机可读指令等。此外,所述存储器51还可以用于暂时地存储已经输出或者将要输出的各类数据。
[0149] 所述处理器52在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器52通常用于控制所述计算机设备5的总体操作。本实施例中,所述处理器52用于运行所述存储器51中存储的计算机可读指令或者处理数据,例如运行所述基于动态字段的表格展示方法的计算机可读指令。
[0150] 所述网络接口53可包括无线网络接口或有线网络接口,该网络接口53通常用于在所述计算机设备5与其他电子设备之间建立通信连接。
[0151] 本实施例通过处理器执行存储在存储器的计算机可读指令时实现如上述实施例基于动态字段的表格展示方法的步骤,通过获取的待展示表格中确定每列展示的字段类型,从而确定待展示表格包含的固定列和动态列,计算出所有固定列的固定总列宽以及所有动态列的动态总列宽,并比较剩余宽度和第二总宽度,根据比较结果动态调整动态列宽,形成待展示表格的展示布局,按照确定的展示布局展示表格,可以根据容器宽度和表格列宽动态调整动态列宽,使得表格可以根据容器宽度变化以及表格的展示内容实现展示布局的动态调整,提升表格的展示效果。
[0152] 本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的基于动态字段的表格展示方法的步骤,通过获取的待展示表格中确定每列展示的字段类型,从而确定待展示表格包含的固定列和动态列,计算出所有固定列的固定总列宽以及所有动态列的动态总列宽,并比较剩余宽度和第二总宽度,根据比较结果动态调整动态列宽,形成待展示表格的展示布局,按照确定的展示布局展示表格,可以根据容器宽度和表格列宽动态调整动态列宽,使得表格可以根据容器宽度变化以及表格的展示内容实现展示布局的动态调整,提升表格的展示效果。
[0153] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
[0154] 显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。