一种基于场景的列信息动态加载展示方法与流程

文档序号:12177397阅读:932来源:国知局
一种基于场景的列信息动态加载展示方法与流程

本发明属于场景的列信息加载技术领域,尤其涉及一种基于场景的列信息动态加载展示方法。



背景技术:

随着产业和信息的不断细分,事物的分类越来越精细,同一事物在不同的分类中展现的特性也不尽相同。在实际的业务操作中,用户希望根据不同的场景,动态的展示事物在该条件下拥有的身份或者特性,并且可以对不同情形下展示的结果进行编辑、存储等操作。

通常由于事物的特性或者场景需求,这些动态信息的展示方式也会存在不同,用户希望能够根据自己的意愿去定制展示方式。比如:不同的场景中事物会表现出不同的属性,不同的属性又会对应出不同的特性。用户希望根据选择的不同场景,展现不同的属性,根据不同的属性同时展现不同的特性,最后对具体的特性进行界面编辑、操作和展示。以树形结构展示,如图1所示,以行展示,如图2所示。

在当前ERP产品中,解决特定场景的组件的动态加载,采用较多的方式是预留字段。该方法一般通过在主表或者子表预留一定数量的字段,比如:自定义项。该种方法可以通过预留字段的形式来解决加载数据的问题,针对不同场景,判断需要进行加载的预留字段的个数、组件初始化、界面展示,不需展示的则隐藏。通过该种方法实现的表体动态列加载和数据的表格化操作、存储,存在一定的弊端,如下:

(1)该种方法需要数据库表预留一定的字段,数据库表预留字段的个数,一般会是实际业务中的最大预估值。在实际的操作中,一般会小于该最大预估值。但是,每次在初始化界面,初始化表头或者表体的时候,会初始化所有的组件,增加一些不必要的操作,影响效率。

(2)由于预留字段的个数一般会大于实际场景中的字段个数,会造成数据库中字段的浪费。

(3)如果实际操作中的参数字段超过原有的预留字段,就需扩张数据库表中的预留字段,扩展成本较高,缺乏灵活性。

(4)预留字段要实现多级的展示时,扩展难度较大。

在当前的ERP产品中,针对分级动态加载的,实现的较多是数据编辑和展示是分开的,在一个节点中进行数据的录入,以某些标识来表明分级关系,在另外一个节点中进行分级展示,同时展示时大多是采用树数据结构。

因此,需要提出一种基于场景的列信息动态加载展示方法来避免上述缺陷的产生。



技术实现要素:

针对现有技术的不足,本发明的目的是提供一种基于场景的列信息动态加载展示方法, 基于现有技术及其不足,本文提出了一种基于场景的列信息动态加载展示方法,以下从场景切换时参数的动态加载、表格数据的存储和展示这两个方法分析要解决的技术问题:针对切换时参数的动态加载,组件的初始化不在界面初始化时进行,而是在切换场景时,根据场景信息进行组件的动态加载;针对表格数据的存储和展示,不采用预留字段方式,而是直接从界面取值,以单独的子表形式存储。采用该种方法可以避免预留字段方法的缺陷,但是,子表的构造是根据场景特性,所以数据的存储也依赖于具体的场景下的参数信息,因此,数据存储和展示会存在一定的差异,将存储的数据通过一定的方式按照要求展示于界面是要解决的重要问题;针对数据的展示,可以根据用户的单据模板进行适应性展示。在模型层中存储具体的数据,在视图层根据用户的模板进行数据整理展示。

一种基于场景的列信息动态加载展示方法,所述基于场景的列信息动态加载展示方法包括以下步骤:

S1,用户进行场景选择,完成选择后,根据场景捕获提供的信息,进行场景信息整合;

S2,以整合后的信息为基础,构建相应的组件,组件整合以一定的顺序完成界面展示;

S3,用户在界面上进行录入数据和文本及相关编辑操作;

S4,操作完成,在触发保存或者完成之后,从界面读取数据,构建成特定的数据库表,进行动态数据的存储,由于数据表的构建是以单个组件为基础的,所以,需要将数据整合即数据的列转行,回写界面。

优选地,S2中所述构建相应的组件具体为:根据场景的用户选择,找出相应的场景下对应的第一层信息,并构建组件展示,针对第一层信息的各个属性,根据选择构建该属性对应的特性信息,依次类推,可进行多层特性信息构建。

优选地,S2中所述组件整合以一定的顺序完成界面展示的具体展示信息依据于用户的模板,也可进行扩展;在采用MVC模型的存储和展示中,可以很方便的将视图层和模型层进行分离,视图层只负责展示。因此在视图层,可以根据用户原有的模板,进行组件扩展。

优选地,S2中所述组件整合以一定的顺序完成界面展示的具体展示信息通过自定义项和动态加载的方式实现:在单据中预留一定数量的自定义项,在场景选择完之后,可以通过预留的自定义项展示属性,以动态组件的形式展示特性。

优选地,S4中所述动态列数据的存储具体为:以组件为单位建立子表,该子表的信息直接与单个组件的关联,存储组件的值、数据类型以及一些加载时的必要信息。

本发明的技术方案具有以下有益效果:

本发明提供的一种基于场景的列信息动态加载展示方法,描述了对于场景特性的组件动态展现,该方法具有以下优点:可根据用户场景动态加载组件,灵活性高,扩展方便,不受限于要加载的组件的个数;组件可以加载在表格中,可进行基于表格的基本操作,同时实现数据的批量;采用基于组件信息的按列存储,在进行界面展示时,可将数据组合拉平按行展示,以具体的组件为单位进行存储和展示;可以根据用户设置的模板,进行多种展示,并支持多级和多结构展示,具有较好的可扩展性。

附图说明

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

图1是现有技术中不同场景的不同的属性以树形式的展示图;

图2是现有技术中不同场景的不同的属性以行形式的展示图;

图3是本发明一种基于场景的列信息动态加载展示方法的流程图;

图4是本发明一种基于场景的列信息动态加载展示方法的组件的三层特性信息动态构建示意图;

图5是本发明一种基于场景的列信息动态加载展示方法的组件的动态展示示意图;

图6是本发明一种基于场景的列信息动态加载展示方法的动态数据的存储示意图;

图7是本发明一种基于场景的列信息动态加载展示方法的以列为单元的存储数据转换成行展示的抽象预处理示意图;

图8是本发明一种基于场景的列信息动态加载展示方法的以查询为例的操作流程图。

具体实施方式

为了清楚了解本发明的技术方案,将在下面的描述中提出其详细的结构。显然,本发明实施例的具体施行并不足限于本领域的技术人员所熟习的特殊细节。本发明的优选实施例详细描述如下,除详细描述的这些实施例外,还可以具有其他实施方式。

下面结合附图和实施例对本发明做进一步详细说明。

本实施例提出了一种基于场景的列信息动态加载展示方法,该方法的总体过程如图3所示,具体如下:

(1)用户进行场景选择,完成选择后,根据场景捕获提供的信息,进行场景信息整合。

(2)以整合后的信息为基础,构建相应的组件,组件整合以一定的顺序完成界面展示。

(3)此时,用户可以在界面进行录入数据、文本等编辑操作。

(4)操作完成,在触发保存或者完成之后,从界面读取数据,构建成特定的数据库表,进行存储,由于数据表的构建是以单个组件为基础的,所以,需要将数据整合即数据的列转行,回写界面。

其中,组件的动态构建和展示:根据场景的用户选择,找出相应的场景下对应的第一层信息,并构建组件展示,针对第一层信息的各个属性,根据选择构建该属性对应的特性信息,依次类推,如图4所示,可以进行多层特性信息构建,以三层为例;动态组件的具体展示信息依据于用户的模板,又可进行扩展。在采用MVC模型的存储和展示中,可以很方便的将视图层和模型层进行分离,视图层只负责展示。因此在视图层,可以根据用户原有的模板,进行组件扩展,以按行展示为例,结合用户已有的模板进行扩展,如图5所示,可以通过自定义项和动态加载的方式实现。通常在单据中都会预留一定数量的自定义项,在场景选择完之后,可以通过预留的自定义项展示属性,以动态组件的形式展示特性。

其中,动态列数据的存储和展示:由于组件是根据场景动态加载的,组件的个数和信息是存在不确定性的,因此在数据库表设计时,以组件为单位建立子表,该子表的信息直接与单个组件的关联,存储组件的值、数据类型以及一些加载时的必要信息。这样可以避免组件长度和类型随场景变化而带来的不确定性;以保存为例,在进行保存时,以组件为循环按列从界面抓取数据,按预先设计的数据库表构造数据,传至后台进行持久化,如图6。

在进行查询等从后台读取数据进行展示时,一般从后台取得数据,数据会存储在模型层,视图层在展示的时候,从模型层拿到数据,在展示之前根据具体场景利用一些算法,将以列为单元的存储数据转换成行展示。这个转换过程可以抽象出一个预处理算法,如图7。以查询为例具体的操作流程如图8。

本发明提供的一种基于场景的列信息动态加载展示方法,描述了对于场景特性的组件动态展现,该方法具有以下优点:可根据用户场景动态加载组件,灵活性高,扩展方便,不受限于要加载的组件的个数;组件可以加载在表格中,可进行基于表格的基本操作,同时实现数据的批量;采用基于组件信息的按列存储,在进行界面展示时,可将数据组合拉平按行展示,以具体的组件为单位进行存储和展示;可以根据用户设置的模板,进行多种展示,并支持多级和多结构展示,具有较好的可扩展性。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员依然可以对本发明的具体实施方式进行修改或者等同替换,这些未脱离本发明精神和范围的任何修改或者等同替换,均在申请待批的权利要求保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1