CN109634585A - 一种基于表单自适应展示和更新服务端数据的方法 - Google Patents

一种基于表单自适应展示和更新服务端数据的方法 Download PDF

Info

Publication number
CN109634585A
CN109634585A CN201811426749.7A CN201811426749A CN109634585A CN 109634585 A CN109634585 A CN 109634585A CN 201811426749 A CN201811426749 A CN 201811426749A CN 109634585 A CN109634585 A CN 109634585A
Authority
CN
China
Prior art keywords
data
control
field name
list
type
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.)
Granted
Application number
CN201811426749.7A
Other languages
English (en)
Other versions
CN109634585B (zh
Inventor
施健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Wanpeng Digital Intelligence Technology Co ltd
Original Assignee
Zhejiang Wanpeng Education Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Wanpeng Education Technology Co Ltd filed Critical Zhejiang Wanpeng Education Technology Co Ltd
Priority to CN201811426749.7A priority Critical patent/CN109634585B/zh
Publication of CN109634585A publication Critical patent/CN109634585A/zh
Application granted granted Critical
Publication of CN109634585B publication Critical patent/CN109634585B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于表单自适应展示和更新服务端数据的方法。本发明步骤如下:步骤1、在页面端设计一套表单中各类常用控件的ID命名规则和检测规则;步骤2、在页面端设计一个通用javascript检测函数,javascript检测函数对以步骤1的ID命名规则和检测规则定义的表单中的数据进行检测;步骤3、在服务端设计有一个表单控件的扫描函数;步骤4、通过AutoGet()收集器解析哈希表中的数据,然后将解析的数据添加原有操作状态后,调用保存函数存储;步骤5、页面端加载表单时。本发明能够去除冗余属性,实现精准保存;适应性很好。

Description

一种基于表单自适应展示和更新服务端数据的方法
技术领域
本发明涉及各类信息系统的开发中的数据展示和更新领域,尤其涉及C#语言、Asp.net表单+关系型数据库的表单操纵和数据更新领域,提供一种基于表单自适应展示和更新服务端数据的方法。
背景技术
随着C#语言类库的不断升级,正在改变着很多常规ERP软件的开发模式和开发效率,目前,教育行业的各环节信息化建设和升级仍是方兴未艾,近年来随着对软件使用的深入,用户对软件系统的要求也越来越高,各软件厂家持续对自身产品进行架构调整、代码重构已成为常态,只有不断革新功能、增加易用性、稳定性才能留住用户,这其中都需要不断投入大量人力和时间,近几年开发人员紧缺、价码不断提高也是常态。而各类业务系统,对数据表单查询显示、修改、更新等操作通常是为最常用、最基本的功能,这类功能的开发,也占据了开发人员很大比例的时间。
现状:典型的现状是写代码对应数据项逐项取值展示,保存时再重新逐项获取当前值进行保存,代码量非常大而且机械重复,而且容易出差错,需要很多的测试才能保证较好的正确性;
发明内容
本发明提供了一种基于表单自适应展示和更新服务端数据的方法。本发明是一种从减少人工编写代码、降低开发人员机械劳动的角度出发,提出了一种系统方法,实现了实现了一种代码简洁,性能理想,易于适应需求变化的一种高效开发组件。
本发明解决其技术问题所采用的技术方案如下:
步骤1、在页面端设计一套表单中各类常用控件的ID命名规则和检测规则,具体实现如下:
ID命名规则:将控件类别、该控件显示的数据对应的数据表的字段名、字段的数据类型,按规则组合成一个英文字符串作为控件ID;
所述的控件ID表现形式为A+B;其中A表示控件类型,包括字符文本框txd、整数文本框Txn、日期文本框Txd、整数下拉框Ddl、复选框Ckb和只读的文本框Lbl;B表示字段名;具体参看表1。
检测规则:对每个输入控件允许输入的数据类型type、数据能否为空isnull和异常情况提示语进行设置;
表1:各种类型编码如下表所示:
控件ID编码规则 识别的
Txt+字段名 文本框,字符型
Txn+字段名 文本框,整数型
Txd+字段名 文本框,日期型
Ddl+字段名 下拉框,整数型
Ckb+字段名 复选框,布尔型 Ture/false
Lbl+字段名 只读的文本框,字符型
步骤2、在页面端设计一个通用js(javascript)检测函数,js检测函数对以步骤1的ID命名规则和检测规则定义的表单中的数据进行检测,具体的:
js检测函数对表单中数据的数据类型和数据能否为空isnull进行检测,若出现异常,则出现异常情况提示语;通过js检测函数检测的表单中的数据添加操作状态标记后,直接提交到服务端。
所述的操作状态标记包括新增、删除、更新。
步骤3、在服务端设计有一个表单控件的扫描函数,具体实现如下:
首先,扫描函数对存储在服务端的表单中的控件ID进行提取;其次,扫描函数对提取的控件ID根据ID命名规则进行拆分,从而获取数据类型和数据字段名;将控件ID和控件ID对应的值放在哈希表中;
所述的控件ID对应的值是控件ID上填写的真实数据。
所述的哈希表有两列,其中键key用于存储控件ID;值value用于存储控件ID对应的值;
步骤4、通过AutoGet()收集器解析哈希表中的数据,然后将解析的数据添加原有操作状态后,调用保存函数存储。
所述的AutoGet()收集器具体实现如下:
通过哈希表中键key存放的控件ID,解析哈希表中所有控件ID中的字段名;将哈希表中所有字段名以及字段名对应的值组合为一条记录,同时在该记录中添加原有的操作状态标记和目标存储数据表的名称,组合成新的记录Ⅰ;
所述的目标存储数据表可以是多个。
所述的保存函数具体实现如下:
对目标存储数据表中的字段名进行查询,将获取的所有字段名与记录Ⅰ中的所有字段名进行匹配,从记录Ⅰ中获取将与目标存储数据表中的字段名以及字段名对应的值,去除冗余值;然后根据记录Ⅰ中的操作状态标记对获取的数据在目标存储数据表中进行操作。
步骤5、当页面端需要加载表单时,具体实现如下:
4-1.服务端将要输出至页面端的数据记录datarow,首先通过AutoSet()函数解析成哈希表形式,
具体:通过服务端将的扫描函数扫描页面端所有控件ID,根据控件ID在服务端生成空置的哈希表,根据数据记录datarow中所有字段名以及字段名对应的值AutoSet()函数填充哈希表。
所述的AutoSet()函数实现如下:
将数据记录datarow中的每一个字段名以及该字段名对应的值提取出来,然后将提取的字段名与哈希表中的控件ID相匹配,将匹配到的字段名对应的值填充到该控件ID对应的值,完成显示。
本发明有意效果如下:
本发明能够去除冗余属性,实现精准保存;本组件支持表单上显示的数据可以是多个表关联查询的数据(真实用户需求经常如此),而保存时既可以保存多张表的数据,也可以只保存特定表的数据,适应性很好;
本发明在需求变更频繁,或在业务软件的初期开发中,对于数据库设计经常改变的情况时,系统只需要前端工程师增减一下表单页面的输入项,后台就能自动完成数据的增删改操作了。相比传统开发方式能够减少开发人员编写这些字段的赋值代码,减少人工编码,并能有效降低测试工作量。
本发明在富表单项目中,应用本技术可以快速的完成各种定制,只要修改页面端和数据库端,中间环节均可由扫描器自动完成。可很大程度上节省程序开发人员的工作量。
具体实施方案
本发明的具体实施方案入如下:
一种基于表单自适应展示和更新服务端数据的方法,具体实现步骤如下:
步骤1、在页面端设计一套表单中各类常用控件的ID命名规则和检测规则,具体实现如下:
ID命名规则:将控件类别、该控件显示的数据对应的数据表的字段名、字段的数据类型,按规则组合成一个英文字符串作为控件ID;
所述的控件ID表现形式为A+B;其中A表示控件类型,包括字符文本框txd、整数文本框Txn、日期文本框Txd、整数下拉框Ddl、复选框Ckb和只读的文本框Lbl;B表示字段名;具体参看表1。
例如:英文字符串表现形式为txd+limitdt,前三位txd代表这是一个文本框且是日期类型,并对应数据表中的limitdt字段;英文字符串表现形式为Ddl+dept,前三位Ddl代表这是个下拉选择框,对应数据表中的dept字段。
检测规则:对每个输入控件允许输入的数据类型type、数据能否为空isnull和异常情况提示语进行设置;
表1:各种类型编码如下表所示:
控件ID编码规则 识别的
Txt+字段名 文本框,字符型
Txn+字段名 文本框,整数型
Txd+字段名 文本框,日期型
Ddl+字段名 下拉框,整数型
Ckb+字段名 复选框,布尔型 Ture/false
Lbl+字段名 只读的文本框,字符型
步骤2、在页面端设计一个通用js(javascript)检测函数,js检测函数对以步骤1的ID命名规则和检测规则定义的表单中的数据进行检测,具体的:
js检测函数对表单中数据的数据类型和数据能否为空isnull进行检测,若出现异常,则出现异常情况提示语;通过js检测函数检测的表单中的数据添加操作状态标记后,直接提交到服务端。
所述的操作状态标记包括新增、删除、更新。
步骤3、在服务端设计有一个表单控件的扫描函数,具体实现如下:
首先,扫描函数对存储在服务端的表单中的控件ID进行提取;其次,扫描函数对提取的控件ID根据ID命名规则进行拆分,从而获取数据类型和数据字段名;将控件ID和控件ID对应的值放在哈希表中;
所述的控件ID对应的值是控件ID上填写的真实数据。
所述的哈希表有两列,其中键key用于存储控件ID;值value用于存储控件ID对应的值;
步骤4、通过AutoGet()收集器解析哈希表中的数据,然后将解析的数据添加原有操作状态后,调用保存函数存储。
所述的AutoGet()收集器具体实现如下:
通过哈希表中键key存放的控件ID,解析哈希表中所有控件ID中的字段名;将哈希表中所有字段名以及字段名对应的值组合为一条记录,同时在该记录中添加原有的操作状态标记和目标存储数据表的名称,组合成新的记录Ⅰ;
所述的目标存储数据表可以是多个。
所述的保存函数具体实现如下:
对目标存储数据表中的字段名进行查询,将获取的所有字段名与记录Ⅰ中的所有字段名进行匹配,从记录Ⅰ中获取将与目标存储数据表中的字段名以及字段名对应的值,去除冗余值;然后根据记录Ⅰ中的操作状态标记对获取的数据在目标存储数据表中进行操作。
步骤5、当页面端需要加载表单时,具体实现如下:
4-1.服务端将要输出至页面端的数据记录datarow,首先通过AutoSet()函数解析成哈希表形式,
具体:通过服务端将的扫描函数扫描页面端所有控件ID,根据控件ID在服务端生成空置的哈希表,根据数据记录datarow中所有字段名以及字段名对应的值AutoSet()函数填充哈希表。
所述的AutoSet()函数实现如下:
将数据记录datarow中的每一个字段名以及该字段名对应的值提取出来,然后将提取的字段名与哈希表中的控件ID相匹配,将匹配到的字段名对应的值填充到该控件ID对应的值,完成显示。

Claims (3)

1.一种基于表单自适应展示和更新服务端数据的方法,其特征在于包括如下步骤:
步骤1、在页面端设计一套表单中各类常用控件的ID命名规则和检测规则,具体实现如下:
ID命名规则:将控件类别、该控件显示的数据对应的数据表的字段名、字段的数据类型,按规则组合成一个英文字符串作为控件ID;
所述的控件ID表现形式为A+B;其中A表示控件类型,包括字符文本框txd、整数文本框Txn、日期文本框Txd、整数下拉框Ddl、复选框Ckb和只读的文本框Lbl;B表示字段名;具体参看表1;
检测规则:对每个输入控件允许输入的数据类型type、数据能否为空isnull和异常情况提示语进行设置;
表1:各种类型编码如下表所示:
控件ID编码规则 识别的 Txt+字段名 文本框,字符型 Txn+字段名 文本框,整数型 Txd+字段名 文本框,日期型 Ddl+字段名 下拉框,整数型 Ckb+字段名 复选框,布尔型 Ture/false Lbl+字段名 只读的文本框,字符型
步骤2、在页面端设计一个通用javascript检测函数,javascript检测函数对以步骤1的ID命名规则和检测规则定义的表单中的数据进行检测,具体的:
javascript检测函数对表单中数据的数据类型和数据能否为空isnull进行检测,若出现异常,则出现异常情况提示语;通过javascript检测函数检测的表单中的数据添加操作状态标记后,直接提交到服务端;
所述的操作状态标记包括新增、删除、更新;
步骤3、在服务端设计有一个表单控件的扫描函数,具体实现如下:
首先,扫描函数对存储在服务端的表单中的控件ID进行提取;其次,扫描函数对提取的控件ID根据ID命名规则进行拆分,从而获取数据类型和数据字段名;将控件ID和控件ID对应的值放在哈希表中;
所述的控件ID对应的值是控件ID上填写的真实数据;
所述的哈希表有两列,其中键key用于存储控件ID;值value用于存储控件ID对应的值;
步骤4、通过AutoGet()收集器解析哈希表中的数据,然后将解析的数据添加原有操作状态后,调用保存函数存储;
步骤5、当页面端需要加载表单时,具体实现如下:
4-1.服务端将要输出至页面端的数据记录datarow,首先通过AutoSet()函数解析成哈希表形式,
具体:通过服务端将的扫描函数扫描页面端所有控件ID,根据控件ID在服务端生成空置的哈希表,根据数据记录datarow中所有字段名以及字段名对应的值AutoSet()函数填充哈希表。
2.根据权利要求1所述的一种基于表单自适应展示和更新服务端数据的方法,其特征在于所述的AutoGet()收集器具体实现如下:
通过哈希表中键key存放的控件ID,解析哈希表中所有控件ID中的字段名;将哈希表中所有字段名以及字段名对应的值组合为一条记录,同时在该记录中添加原有的操作状态标记和目标存储数据表的名称,组合成新的记录Ⅰ;
所述的目标存储数据表可以是多个;
所述的保存函数具体实现如下:
对目标存储数据表中的字段名进行查询,将获取的所有字段名与记录Ⅰ中的所有字段名进行匹配,从记录Ⅰ中获取将与目标存储数据表中的字段名以及字段名对应的值,去除冗余值;然后根据记录Ⅰ中的操作状态标记对获取的数据在目标存储数据表中进行操作。
3.根据权利要求1或2所述的一种基于表单自适应展示和更新服务端数据的方法,其特征在于所述的AutoSet()函数实现如下:
将数据记录datarow中的每一个字段名以及该字段名对应的值提取出来,然后将提取的字段名与哈希表中的控件ID相匹配,将匹配到的字段名对应的值填充到该控件ID对应的值,完成显示。
CN201811426749.7A 2018-11-27 2018-11-27 一种基于表单自适应展示和更新服务端数据的方法 Active CN109634585B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811426749.7A CN109634585B (zh) 2018-11-27 2018-11-27 一种基于表单自适应展示和更新服务端数据的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811426749.7A CN109634585B (zh) 2018-11-27 2018-11-27 一种基于表单自适应展示和更新服务端数据的方法

Publications (2)

Publication Number Publication Date
CN109634585A true CN109634585A (zh) 2019-04-16
CN109634585B CN109634585B (zh) 2021-12-21

Family

ID=66069330

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811426749.7A Active CN109634585B (zh) 2018-11-27 2018-11-27 一种基于表单自适应展示和更新服务端数据的方法

Country Status (1)

Country Link
CN (1) CN109634585B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110362555A (zh) * 2019-06-28 2019-10-22 武汉钢铁有限公司 工作流表单控制方法
CN111143354A (zh) * 2019-12-09 2020-05-12 北京五八信息技术有限公司 表单提交方法、装置、电子设备及存储介质
CN112183573A (zh) * 2020-08-20 2021-01-05 中船重工(武汉)凌久高科有限公司 一种基于聚类分析和富文本的Web应用系统设计方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572131A (zh) * 2015-02-04 2015-04-29 浪潮软件股份有限公司 一种业务表单配置的方法和装置
CN105573765A (zh) * 2015-12-29 2016-05-11 武汉传神信息技术有限公司 一种动态表单的实现方法、客户端及服务器
CN106446024A (zh) * 2016-08-30 2017-02-22 东软集团股份有限公司 自动生成数据模型的方法和装置
CN106933559A (zh) * 2015-12-31 2017-07-07 阿里巴巴集团控股有限公司 表单页面数据处理方法和装置
US20180307479A1 (en) * 2017-04-24 2018-10-25 American Megatrends, Inc. System and method for performing firmware update by patching

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572131A (zh) * 2015-02-04 2015-04-29 浪潮软件股份有限公司 一种业务表单配置的方法和装置
CN105573765A (zh) * 2015-12-29 2016-05-11 武汉传神信息技术有限公司 一种动态表单的实现方法、客户端及服务器
CN106933559A (zh) * 2015-12-31 2017-07-07 阿里巴巴集团控股有限公司 表单页面数据处理方法和装置
CN106446024A (zh) * 2016-08-30 2017-02-22 东软集团股份有限公司 自动生成数据模型的方法和装置
US20180307479A1 (en) * 2017-04-24 2018-10-25 American Megatrends, Inc. System and method for performing firmware update by patching

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110362555A (zh) * 2019-06-28 2019-10-22 武汉钢铁有限公司 工作流表单控制方法
CN110362555B (zh) * 2019-06-28 2022-04-29 武汉钢铁有限公司 工作流表单控制方法
CN111143354A (zh) * 2019-12-09 2020-05-12 北京五八信息技术有限公司 表单提交方法、装置、电子设备及存储介质
CN112183573A (zh) * 2020-08-20 2021-01-05 中船重工(武汉)凌久高科有限公司 一种基于聚类分析和富文本的Web应用系统设计方法

Also Published As

Publication number Publication date
CN109634585B (zh) 2021-12-21

Similar Documents

Publication Publication Date Title
CN101094194B (zh) 一种提取Web页面中用户所需Web信息的方法
US7305404B2 (en) Data structure and management system for a superset of relational databases
CN109634585A (zh) 一种基于表单自适应展示和更新服务端数据的方法
CN102184169B (zh) 用于确定字符串信息间相似度信息的方法、装置和设备
CN102640151B (zh) 用于传输日志记录的方法和系统
CN107678736A (zh) 一种业务页面模板的展现方法、系统及计算机装置
US20140189503A1 (en) System and method for citation processing presentation, and transport
CN102819609B (zh) 一种持久化数据模型建模方法
CN103761317A (zh) 一种多线程异步渲染系统及方法
CN101154239A (zh) 将表状数据变换成结构化文档的系统及方法
CN101122899A (zh) 报表的生成方法和设备
CN101136033A (zh) 结构化文档管理系统和管理在所述系统中的索引的方法
CN102737012A (zh) 文本信息对比方法及系统
CN103309806A (zh) 一种快速开发测试的装置及方法
US7055096B2 (en) Data integrate system and data integrate method
CN101008940A (zh) 自动处理字体缺失的方法与装置
US20020069049A1 (en) Dynamic determination of language-specific data output
CN101393549A (zh) 修改表格元素的显示属性的方法和系统
US7016906B1 (en) Data processing method and apparatus employing OLE DB and having dual schema and auto update features
van der Linden et al. Automated test-form generation
CN102567796A (zh) 数据导入方法和装置
US9430451B1 (en) Parsing author name groups in non-standardized format
CN101339504B (zh) 一种基于文本的人机命令输出格式检查方法
CN110807298B (zh) 一种对标记信息进行处理的方法及系统
US7107582B2 (en) System and method for source-driven form-independent dynamic content resolution

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
CP02 Change in the address of a patent holder

Address after: 12 / F, building 8, No. 19, Jugong Road, Xixing street, Binjiang District, Hangzhou City, Zhejiang Province, 310051

Patentee after: ZHEJIANG WANPENG EDUCATION SCIENCE AND TECHNOLOGY STOCK CO.,LTD.

Address before: Room 1406, Hangzhou e-commerce building, 118 Wensan West Road, Xihu District, Hangzhou City, Zhejiang Province, 310013

Patentee before: ZHEJIANG WANPENG EDUCATION SCIENCE AND TECHNOLOGY STOCK CO.,LTD.

CP02 Change in the address of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 12 / F, building 8, No. 19, Jugong Road, Xixing street, Binjiang District, Hangzhou City, Zhejiang Province, 310051

Patentee after: Zhejiang Wanpeng Digital Intelligence Technology Co.,Ltd.

Address before: 12 / F, building 8, No. 19, Jugong Road, Xixing street, Binjiang District, Hangzhou City, Zhejiang Province, 310051

Patentee before: ZHEJIANG WANPENG EDUCATION SCIENCE AND TECHNOLOGY STOCK CO.,LTD.

CP01 Change in the name or title of a patent holder