CN112148287B - 一种表格动态显示方法、装置以及电子设备 - Google Patents
一种表格动态显示方法、装置以及电子设备 Download PDFInfo
- Publication number
- CN112148287B CN112148287B CN202010848176.8A CN202010848176A CN112148287B CN 112148287 B CN112148287 B CN 112148287B CN 202010848176 A CN202010848176 A CN 202010848176A CN 112148287 B CN112148287 B CN 112148287B
- Authority
- CN
- China
- Prior art keywords
- plug
- instance
- model
- flow
- interface
- 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 58
- 230000008859 change Effects 0.000 claims abstract description 15
- 238000001914 filtration Methods 0.000 claims description 5
- 230000002452 interceptive effect Effects 0.000 claims description 5
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 6
- 230000006870 function Effects 0.000 description 10
- 230000009286 beneficial effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000010295 mobile communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000011423 initialization method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及软件技术领域,公开了一种表格动态显示方法、装置以及电子设备。方法包括:表格界面初始化时,获取表格的信息;判断表格是否需要扩展;若表格需要扩展,则对原始模型进行改变,获得最终模型;将最终模型应用到表格界面,以改变表格界面显示,通过上述方式不但能够避免在下层处理上层的业务和数据,而且能够提高软件的可扩展性,维护性,进而应对多种形式的业务需求。
Description
技术领域
本发明涉及软件技术领域,特别是涉及一种表格动态显示方法、装置以及电子设备。
背景技术
在多层结构的软件系统中,一般下层有更多的基础功能,而上层业务功能更多。在软件系统的维护阶段,下层较稳定,改动较少或者不改动;上层改动相对频繁,要根据业务需要进行改动。
在实际工作中,经常遇到这样的场景,由于上层的业务需求,需要修改下层的某个表格界面显示,比如增加或隐藏表格的列、行。传统的做法是:
1.直接修改表格模型代码,将上层的逻辑直接写在下层。缺点是破坏了软件层级的依赖关系,在下层包含上层的逻辑或数据。
2.对于无法直接修改下层代码的情况,通过预设的接口,修改预设的部分。缺点是灵活性不够,只能修改预设接口的提供的部分。
发明内容
基于此,有必要针对上述技术问题,提供一种表格动态显示方法、装置以及电子设备,能够在保证下层的稳定性的同时,只修改上层软件,就能改变下层的表格界面显示,以应对多种形式的业务需求。
第一方面,本发明实施例提供了一种表格动态显示方法,所述方法包括:
表格界面初始化时,获取表格的信息;
判断表格是否需要扩展;
若所述表格需要扩展,则对原始模型进行改变,获得最终模型;
将所述最终模型应用到表格界面,以改变表格界面显示。
在一些实施例中,所述对原始模型进行改变,获得最终模型,包括:
获取插件流,其中,所述插件流包括若干个插件实例;
获取所述插件流中的插件实例;
基于所述插件实例对所述原始模型进行改变,获得最终模型。
在一些实施例中,所述方法还包括:
判断是否从插件流中获取到插件实例;
若为是,则基于所述插件实例对所述原始模型进行扩展,每个所述插件实例扩展后得到中间模型;
若为否,则确定所述插件流为空插件流,进而将所述原始模型应用到表格界面。
在一些实施例中,所述若为是,则基于所述插件实例对所述原始模型进行扩展,每个所述插件实例扩展后得到中间模型之后,所述方法还包括:
判断所述插件流是否结束;
若为是,则执行将所述最终模型应用到表格界面,以改变表格界面显示的步骤;
若为否,则继续执行基于所述插件实例对所述原始模型进行扩展,每个所述插件实例扩展后得到中间模型的步骤。
在一些实施例中,所述方法还包括:创建插件流。
在一些实施例中,所述创建插件流包括:
接收创建插件流的请求,其中,所述请求中携带有表格条件;
遍历缓存插件,过滤与所述表格条件不匹配的插件;
判断是否有匹配的插件;
若有,则对所述过滤后的插件创建插件实例;
将所述插件实例添加到实例集合;
将所述实例集合进行封装,得到插件流;
若无,则返回空插件流。
在一些实施例中,所述方法还包括:
预先设置插件实例的优先级;
所述获取所述插件流中的插件实例,包括:
根据所述插件实例的优先级,从所述插件流中获取插件实例;
所述基于所述插件实例对所述原始模型进行改变,包括:
基于所述插件实例的优先级,对所述原始模型进行改变。
第二方面,本发明实施例还提供了一种表格动态显示装置,所述装置包括:
获取模块,用于表格界面初始化时,获取表格的信息;
判断模块,用于判断表格是否需要扩展;
改变模块,用于当所述表格需要扩展,则对原始模型进行改变,获得最终模型;
应用模块,用于将所述最终模型应用到表格界面,以改变表格界面显示。
第三方面,本发明实施例还提供了一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述表格动态显示方法的步骤。
第四方面,本发明实施例还提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,当所述计算机可执行指令被处理器所执行时,使所述处理器执行上述表格动态显示方法的步骤。
与现有技术相比,本发明的有益效果是:区别于现有技术的情况,本发明实施例中的表格动态显示方法、装置以及电子设备,当表格界面初始化时,获取表格的信息,然后判断表格是否需要扩展,若表格需要扩展,则对原始模型进行改变,获得最终模型,接着将最终模型应用到表格界面,以改变表格界面显示,通过上述方式不但能够避免在下层处理上层的业务和数据,而且能够提高软件的可扩展性,维护性,进而应对多种形式的业务需求。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,除非有特别申明,附图中的图不构成比例限制。
图1是本发明一个实施例中电子设备的硬件结构示意图;
图2是本发明一个实施例中表格动态显示方法的流程示意图;
图3是本发明一个实施例中获得最终模型的流程示意图;
图4是本发明一个实施例中创建插件流的流程示意图;
图5是本发明一个实施例中表格动态显示方法的详细示意图;
图6是本发明一个实施例中表格动态显示装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,如果不冲突,本发明实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。再者,本发明所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。
本发明实施例提供了一种电子设备,请参阅图1所示,图1为本发明实施例提供的一种电子设备的硬件结构图,其中,所述电子设备100可以是任何类型,具有运算能力的电子设备,例如:智能手机、计算机、掌上电脑、平板电脑等。
具体地,如图1所示,所述电子设备100包括一个或多个处理器102以及存储器104。图1中以一个处理器102为例。处理器102和存储器104可以通过总线或者其他方式连接,图1中以通过总线连接为例。
存储器104作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的表格动态显示方法对应的程序、指令以及模块。处理器102通过运行存储在存储器104中的非易失性软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现下述实施例中的表格动态显示方法。
存储器104可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据表格动态显示装置使用所创建的数据等。此外,存储器104可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器104可选包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至表格动态显示装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
如图2所示,本发明实施例提供了一种表格动态显示方法,所述方法由电子设备执行,所述方法包括:
步骤202,表格界面初始化时,获取表格的信息。
在本发明实施例中,表格的信息包括表格的显示数据和样式等信息。具体地,当表格界面初始化时,表格界面从原始模型获取表格的显示数据和样式等信息。其中,表格需要满足显示和原始模型分离,表格界面显示依赖于从原始模型获取到的信息,当表格的信息即表格的显示数据和样式发生改变时,表格界面显示也会随之改变。示例性的,当表格界面初始化时,表格界面从原始模型获取需要显示的列信息。具体地,表格界面向原始模型发送请求,原始模型根据所述请求返回列信息的数据。其中,原始模型也可以理解为表格模型。
进一步地,在本发明实施例中,可以采用代理技术,将原始模型进行包装,以使扩展模型代替原始模型与表格界面进行交互。其中,代理技术可以为动态代理或者静态代理。
步骤204,判断表格是否需要扩展。
根据功能需求,电子设备内设程序自行判定表格是否需要扩展。
步骤206,若所述表格需要扩展,则对原始模型进行改变,获得最终模型。
在本发明实施例中,由于扩展模型是原始模型的代理,因此,具备拦截原始模型与表格界面之间所有的交互数据,并能够对交互数据进行改变。具体地,当扩展模型接收到表格界面向原始模型发送的请求后,会根据所述请求调用原始模型,并从所述原始模型中获取与所述请求对应的数据,接着通过扩展接口拦截原始模型返回的数据,并对拦截的所述数据进行改变,将上一个实例的输出参数作为下一个实例的输入参数,按顺序依次迭代调用,经过层层处理后,获得最终模型。
可以理解的是,在其他一些实施例中,若表格不需要扩展,则将原始模型应用到表格界面。
在其中一些实施例中,为了提高表格性能,扩展接口的拦截方法分为3类,如下:
第一类,初始化方法:表格初始化时需要调用的方法,如生成列名,计算列宽等。第二类,数据查询方法:涉及到IO,需要在初始化时异步调用。第三类,显示方法:涉及界面绘制,UI会频繁调用,不能够阻塞。
具体地,预先在API文档中写明每个方法属于哪个类型:
初始化方法,只会在表格初始化时被调用一次。这里不做耗时操作,也不做长时间IO。
数据查询方法,需要进行耗时IO的方法,扩展模型会在线程池中执行这些方法,并将查询结果放入缓存,供显示方法使用。
显示方法,会多次被调用,不能做耗时操作阻塞显示方法。需要查询数据时,应在数据查询方法中查询,并从缓存中获取数据显示。需考虑缓存中还没有查到数据的情况,显示空数据等。
作为步骤206的一种实现方式,参见图3所示的流程图,可包括以下步骤:
步骤302,获取插件流,其中,所述插件流包括若干个插件实例。
在本发明实施例中,插件流是对多个插件实例序列的封装,其中,插件实例可以理解为扩展接口的实现,主要用于拦截原始模型与表格界面之间的交互数据,并对所述数据进行改变。具体地,扩展模型通过插件适配器访问插件管理器,并从插件管理器中获取插件流,其中,所述插件流中包括若干插件实例。可以理解的是,在其他一些实施例中,插件流中也可以不包括插件,而是一个空插件流。
步骤304,获取所述插件流中的插件实例。
在本发明实施例中,扩展模型获取插件流中的插件实例时,无需关注插件的具体数据结构和具体数量,只需要从插件流中根据所述插件实例的优先级顺序依次获取插件实例即可。由此能够减少插件实例之间的依赖,其中,每个插件实例对应一个独立的需求,修改一个或多个表格的属性。插件实例通过指定的列索引和行索引来定位行和列,而不是序号,这样在列和行位置改变后依然能定位到。
在其他一些实施例中,插件流可能包括若干个插件实例,也可能是空插件流,因此需要对插件流进行判定。具体地,扩展模型判断是否从插件流中获取到插件实例,若扩展模型从插件流中获取到插件实例,则根据获取到的所述插件实例对原始模型进行扩展,每个所述插件实例扩展后都会得到中间模型。若扩展模型从插件流中未获取到插件实例,则表示该插件流为空插件流,此时不需要对原始模型进行改变,也不存在中间模型,直接将原始模型应用到表格界面。
在其他一些实施例中,在得到中间模型之后,为了确认中间模型是否为最终模型,还需要确定插件流是否结束,即插件流中的插件实例是否全部获取完毕。具体地,判断所述插件流是否结束,若所述插件流结束,则表示插件实例全部获取完毕,此时,通过插件实例拓展得到的中间模型将作为最终模型应用到表格界面,从而改变表格界面显示。若插件流未结束,则表示插件流中还存在没有获取的插件实例,此时,继续获取插件实例,根据所述插件实例对原始模型进行扩展,得到中间模型。
步骤306,基于所述插件实例对所述原始模型进行改变,获得最终模型。
在本发明实施例中,由于插件实例有多个,扩展模型从插件流中根据插件实例的优先级顺序依次获取插件实例,并且在上一个插件实例的基础上对数据进行迭代修改,直到插件流中的插件实例获取完毕,得到最终模型。
步骤208,将所述最终模型应用到表格界面,以改变表格界面显示。
具体地,当扩展模型从插件流中依次获取到插件实例,并且在上一个插件实例的基础上对数据进行迭代修改后,在保证插件实例全部获取完毕的情况下,则将得到的最终模型应用到表格界面,用于改变表格界面显示。
在一些实施例中,获取插件流之前,还需创建插件流,如图4所示,所述创建插件流包括:
步骤402,接收创建插件流的请求,其中,所述请求中携带有表格条件。
在本发明实施例中,表格条件为表格的特征值和业务功能相关的参数,例如可以为表格的ID、业务功能参数、用户ID等。由于界面可能会有多个表格,不同的表格对应的插件不同,或者同一个表格界面,对于不同的业务场景,对应的表格插件不同。因此将表格条件携带在创建插件流的请求中,一并发送给插件管理器,以使所述插件管理器便于区分哪个表格需要获取插件、需要哪些插件。具体地,插件管理器接收创建插件流的请求。
步骤404,遍历缓存插件,过滤与所述表格条件不匹配的插件。
步骤406,判断是否有匹配的插件。
步骤408,若有,则对所述过滤后的插件创建插件实例。
在本发明实施例中,插件管理器用于发现插件、存储插件以及缓存插件。插件管理器接收到创建插件流的请求后,遍历缓存的插件,过滤与表格条件不匹配的插件。具体地,当插件管理器过滤与表格条件不匹配的插件后,会继续判断过滤后的插件中是否有与原始模型匹配的插件。如果过滤后的插件中存在与原始模型相匹配的插件,则对过滤后的插件创建插件实例。同一个表格在多个界面中显示时,对不同的扩展模型,生成不同的插件实例,不同的插件展现不同的表格数据,有利于满足定制化需求。
需要说明的是,当插件管理器过滤与原始模型不匹配的插件后,将会得到有用的插件,此时,插件管理器会将有用的插件存入插件缓存,当插件卸载后,则从缓存中删除,由此能够节省插件管理器的空间。
步骤410,将所述插件实例添加到实例集合。
步骤412,将所述实例集合进行封装,得到插件流。
步骤414,若无,则返回空插件流。
在本发明实施例中,预先设置插件实例的优先级,将所述插件实例按照优先级添加到实例集合,然后将实例队列进行封装,得到插件流。若过滤后的插件中不存在与原始模型相匹配的插件,则返回空插件流给扩展模型。需要说明的是,由于预先设置了插件实例的优先级,因此从插件流中获取插件实例时,会根据优先级顺序获取。同样,在扩展模型对表格数据进行修改时,也是按优先级顺序依次进行。
在本发明实施例中,引入插件流有利于简化开发,降低插件之间的耦合性。有利于在开发插件时,只需要关注当前数据,而不需要考虑之前的插件或者之后的插件的功能,减少插件之间的依赖。并且用利于扩展模型在使用插件流时,不需要关心插件的具体数据结果和具体数量。只需要依次取出插件实例,在上一个插件实例修改的基础上迭代修改即可。
便于理解本发明,请参照图5,下面将进行具体说明:
表格需要满足显示和原始模型分离,当表格界面初始化时,表格界面从原始模型获取表格的显示数据和样式等信息。接着判断表格是否需要扩展。
进一步地,由于扩展模型是原始模型的代理,因此,具备拦截原始模型与表格界面之间所有的交互数据,并能够对交互数据进行改变。当表格需要扩展时,扩展模型接收到表格界面向原始模型发送的请求,接着根据所述请求调用原始模型,并从所述原始模型中获取与所述请求对应的数据,然后通过扩展接口拦截原始模型返回的数据,并对拦截的所述数据进行改变,将上一个实例的输出参数作为下一个实例的输入参数,按顺序依次迭代调用,经过层层处理后,获得最终模型。当表格不需要扩展,则将原始模型应用到表格界面。
进一步地,对数据进行改变之前,还需创建插件流。当插件管理器接收到创建插件流的请求后,遍历缓存的插件,过滤与表格条件不匹配的插件,接着判断过滤后的插件中是否有与原始模型匹配的插件。如果过滤后的插件中存在与原始模型相匹配的插件,则对过滤后的插件创建插件实例,并将插件实例添加到实例集合,然后将实例集合进行封装,得到插件流。若过滤后的插件中不存在与原始模型相匹配的插件,则返回空插件流给扩展模型。
进一步地,扩展模型通过插件适配器访问插件管理器,从插件管理器中获取插件流,并从插件流中获取插件实例,当扩展模型从插件流中获取插件实例的时候,无需关注插件的具体数据结构和具体数量,只需要从插件流中依次获取插件实例即可。由此能够减少插件之间的依赖。
接着,扩展模型判断是否从插件流中获取到插件实例,若扩展模型从插件流中获取到插件实例,则根据获取到的所述插件实例对原始模型进行扩展,从而得到中间模型。若扩展模型从插件流中未获取到插件实例,则表示该插件流为空插件流,此时不需要对原始模型进行改变,也不存在中间模型,直接将原始模型应用到表格界面。
进一步地,在得到中间模型之后,为了确认中间模型是否为最终模型,还需要确定插件流是否结果,即插件流中的插件实例是否全部获取完毕。具体地,判断所述插件流是否结束,若所述插件流结束,则表示插件实例全部获取完毕,此时,通过插件实例拓展得到的中间模型将作为最终模型应用到表格界面,从而改变表格界面显示。若插件流未结束,则表示插件流中还存在没有获取的插件实例,此时,继续获取插件实例,根据所述插件实例对原始模型进行扩展,得到中间模型。
接着,由于插件实例有多个,扩展模型从插件流中依次获取插件实例,并且在上一个插件实例的基础上对数据进行迭代修改,直到插件流中的插件实例获取完毕,得到最终模型,则将得到的最终模型应用到表格界面,用于改变表格界面显示。由此能够实现软件层级之间的依赖关系解耦,避免在下层处理上层的业务和数据,并且满足用户的定制化需求,不同的用户选择不同的插件,可以展现不同的表格数据,提高软件的可扩展性,维护性,可以应对多种形式的业务需求。
相应的,本发明实施例提供了一种表格动态显示装置600,如图6所示,包括:
获取模块602,用于表格界面初始化时,获取表格的信息;
判断模块604,用于判断表格是否需要扩展;
改变模块606,用于当所述表格需要扩展,则对原始模型进行改变,获得最终模型;
应用模块608,用于将所述最终模型应用到表格界面,以改变表格界面显示。
在本发明实施例中,当表格界面初始化时,通过获取模块获取表格的信息,然后通过判断模块判断表格是否需要扩展,若所述表格需要扩展,则通过改变模块对原始模型进行改变,获得最终模型,最后将所述最终模型应用到表格界面,以改变表格界面显示,不但能够避免在下层处理上层的业务和数据,而且能够提高软件的可扩展性,维护性,进而应对多种形式的业务需求。
需要说明的是,上述表格动态显示装置可执行本发明实施例所提供的表格动态显示方法,具备执行方法相应的功能模块和有益效果,未在表格动态显示装置实施例中详尽描述的技术细节,可参考本发明实施例所提供的表格动态显示方法。
本发明实施例还提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或者多个处理器执行时,可使得上述一个或者多个处理器可执行上述任意方法实施例中的表格动态显示方法。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
本发明实施例的电子设备以多种形式存在,包括但不限于:
(1)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等。
(2)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (9)
1.一种表格动态显示方法,其特征在于,所述方法包括:
表格界面初始化时,从原始模型获取表格的信息;
判断表格是否需要扩展;
若所述表格需要扩展,则获取插件流,其中,所述插件流包括若干个插件实例,所述插件实例用于拦截所述原始模型与所述表格界面之间的交互数据,并对所述数据进行改变;
获取所述插件流中的插件实例;
基于所述插件实例对所述原始模型进行改变,获得最终模型;
将所述最终模型应用到表格界面,以改变表格界面显示。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
判断是否从插件流中获取到插件实例;
若为是,则基于所述插件实例对所述原始模型进行扩展,每个所述插件实例扩展后得到中间模型;
若为否,则确定所述插件流为空插件流,进而将所述原始模型应用到表格界面。
3.根据权利要求2所述的方法,其特征在于,所述若为是,则基于所述插件实例对所述原始模型进行扩展,每个所述插件实例扩展后得到中间模型之后,所述方法还包括:
判断所述插件流是否结束;
若为是,则执行将所述最终模型应用到表格界面,以改变表格界面显示的步骤;
若为否,则继续执行基于所述插件实例对所述原始模型进行扩展,每个所述插件实例扩展后得到中间模型的步骤。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:创建插件流。
5.根据权利要求4所述的方法,其特征在于,所述创建插件流包括:
接收创建插件流的请求,其中,所述请求中携带有表格条件;
遍历缓存插件,过滤与所述表格条件不匹配的插件;
判断是否有匹配的插件;
若有,则对所述过滤后的插件创建插件实例;
将所述插件实例添加到实例集合;
将所述实例集合进行封装,得到插件流;
若无,则返回空插件流。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
预先设置插件实例的优先级;
所述获取所述插件流中的插件实例,包括:
根据所述插件实例的优先级,从所述插件流中获取插件实例;
所述基于所述插件实例对所述原始模型进行改变,包括:
基于所述插件实例的优先级,对所述原始模型进行改变。
7.一种表格动态显示装置,其特征在于,所述装置包括:
获取模块,用于表格界面初始化时,从原始模型获取表格的信息;
判断模块,用于判断表格是否需要扩展;
改变模块,用于若所述表格需要扩展,则获取插件流,其中,所述插件流包括若干个插件实例,所述插件实例用于拦截所述原始模型与所述表格界面之间的交互数据,并对所述数据进行改变;获取所述插件流中的插件实例;基于所述插件实例对所述原始模型进行改变,获得最终模型;
应用模块,用于将所述最终模型应用到表格界面,以改变表格界面显示。
8.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6任一项所述的方法的步骤。
9.一种非易失性计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,当所述计算机可执行指令被处理器所执行时,使所述处理器执行如权利要求1-6任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010848176.8A CN112148287B (zh) | 2020-08-21 | 2020-08-21 | 一种表格动态显示方法、装置以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010848176.8A CN112148287B (zh) | 2020-08-21 | 2020-08-21 | 一种表格动态显示方法、装置以及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112148287A CN112148287A (zh) | 2020-12-29 |
CN112148287B true CN112148287B (zh) | 2022-05-27 |
Family
ID=73888861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010848176.8A Active CN112148287B (zh) | 2020-08-21 | 2020-08-21 | 一种表格动态显示方法、装置以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112148287B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113095055A (zh) * | 2021-04-20 | 2021-07-09 | 山石网科通信技术股份有限公司 | 表格修改方法、装置、非易失性存储介质、及处理器 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104267949A (zh) * | 2014-09-25 | 2015-01-07 | 成都国科海博信息技术股份有限公司 | 表单设计器及表单设计方法 |
CN111309324A (zh) * | 2020-01-20 | 2020-06-19 | 福建天泉教育科技有限公司 | Web端内容自适应显示的方法、存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070005734A1 (en) * | 2005-06-30 | 2007-01-04 | Microsoft Corporation | Generically extensible client application |
CN101763256A (zh) * | 2009-12-25 | 2010-06-30 | 金蝶软件(中国)有限公司 | 一种业务对象的扩展应用方法、装置及业务系统 |
CN103389905B (zh) * | 2012-05-10 | 2016-08-17 | 航天信息股份有限公司 | 插件加载方法及系统 |
CN103092629B (zh) * | 2013-02-25 | 2015-12-23 | 用友网络科技股份有限公司 | 界面组装系统和界面组装方法 |
US10657474B2 (en) * | 2017-02-21 | 2020-05-19 | Sourcecode Technology Holdings, Inc. | Collaborative design systems, apparatuses, and methods |
CN108664242B (zh) * | 2017-04-01 | 2022-02-01 | 北京京东尚科信息技术有限公司 | 生成可视化界面的方法、装置、电子设备和可读存储介质 |
CN111158687B (zh) * | 2019-12-31 | 2023-09-22 | 奇安信科技集团股份有限公司 | Java插件的界面生成方法、装置、计算机设备和存储介质 |
CN111476007B (zh) * | 2020-03-31 | 2023-04-07 | 招商局金融科技有限公司 | 表格生成方法、装置、计算机装置及计算机可读存储介质 |
-
2020
- 2020-08-21 CN CN202010848176.8A patent/CN112148287B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104267949A (zh) * | 2014-09-25 | 2015-01-07 | 成都国科海博信息技术股份有限公司 | 表单设计器及表单设计方法 |
CN111309324A (zh) * | 2020-01-20 | 2020-06-19 | 福建天泉教育科技有限公司 | Web端内容自适应显示的方法、存储介质 |
Non-Patent Citations (2)
Title |
---|
刘春梅等.基于JavaScript引擎的终端动态数据处理方法.《微计算机应用》.2010,(第04期), * |
李月恒等.基于嵌入式WEB的电站数据动态监控软件设计.《电子设计工程》.2012,(第10期), * |
Also Published As
Publication number | Publication date |
---|---|
CN112148287A (zh) | 2020-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI808393B (zh) | 頁面處理方法、裝置、設備及儲存媒體 | |
CN109445784B (zh) | 结构数据的处理方法、装置、存储介质及电子设备 | |
CN113268226B (zh) | 页面数据生成方法、装置、存储介质及设备 | |
CN106021421B (zh) | 一种加速网页渲染的方法及装置 | |
CN113209633A (zh) | 镜像的处理方法、装置、电子设备及可读存储介质 | |
CN110502732A (zh) | 一种优惠券的规则生成方法、装置及服务器 | |
CN104423982A (zh) | 请求的处理方法和处理设备 | |
CN111737618A (zh) | 用于Web端的矢量图显示方法、装置和计算机设备 | |
CN102193806B (zh) | 更新动画的方法和装置 | |
CN113157345A (zh) | 前端工程自动启动方法及装置 | |
CN112307264A (zh) | 数据查询方法和装置、以及存储介质和电子设备 | |
CN112148287B (zh) | 一种表格动态显示方法、装置以及电子设备 | |
CN110888672B (zh) | 一种基于元数据架构的表达式引擎实现方法及系统 | |
CN109597825B (zh) | 规则引擎调用方法、装置、设备及计算机可读存储介质 | |
CN110888972A (zh) | 一种基于Spark Streaming的敏感内容识别方法及装置 | |
CN110652728A (zh) | 一种游戏资源管理方法、装置、电子设备及存储介质 | |
CN110489158A (zh) | 对代码托管平台进行优化的方法、装置、介质和电子设备 | |
CN109165712A (zh) | 分布式分期号的生成方法、装置和计算机存储介质 | |
CN116483240A (zh) | 基于列表的空数据占位视图实现方法、装置及电子设备 | |
CN109710604A (zh) | 数据处理方法、装置、系统、计算机可读存储介质 | |
CN111228815B (zh) | 处理游戏的配置表的方法、装置、存储介质和系统 | |
CN110960858B (zh) | 一种游戏资源的处理方法、装置、设备及存储介质 | |
US11232104B2 (en) | Join and predicate filtering using string lengths for variable character fields | |
CN113849686A (zh) | 一种视频数据获取方法、装置、电子设备及存储介质 | |
CN112650763A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |