CN105138312A - 一种表格生成方法及装置 - Google Patents

一种表格生成方法及装置 Download PDF

Info

Publication number
CN105138312A
CN105138312A CN201410247355.0A CN201410247355A CN105138312A CN 105138312 A CN105138312 A CN 105138312A CN 201410247355 A CN201410247355 A CN 201410247355A CN 105138312 A CN105138312 A CN 105138312A
Authority
CN
China
Prior art keywords
component
data
template
component object
list data
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
CN201410247355.0A
Other languages
English (en)
Other versions
CN105138312B (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201410247355.0A priority Critical patent/CN105138312B/zh
Publication of CN105138312A publication Critical patent/CN105138312A/zh
Application granted granted Critical
Publication of CN105138312B publication Critical patent/CN105138312B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种表格生成方法及装置,该方法为:根据指定的模板对象调用JavaScript表格组件创建组件对象实例,其中,组件对象实例继承JavaScript表格组件嵌入的预设功能;在创建组件对象实例的过程中,将指定的表格数据的URL插入组件对象实例中的对应位置并加载相关表格数据,以及根据模板对象中包含的HTML描述信息调用组件对象实例中包含的预设功能对表格数据进行相应处理,以完成组件对象实例的创建。该方法采用JavaScript表格组件统一实现表格的排序、分页和搜索功能,大大减少了js代码的编写量。同时,提高了代码的上手性、可读性和可维护性,并极大的提高了开发效率。

Description

一种表格生成方法及装置
技术领域
本发明涉及计算机技术领域,尤其设计一种表格生成方法及装置。
背景技术
无线数读(无线客户端的数据统计和分析服务)产品经常需要开发大量的表格报表。如图1所示,为目前无线数读中常用的表格展现形式,其中无线数读产品常用的表格一般还可能需要用于提供搜索、分页和排序等功能。现有技术中的常用方法是使用前端表格组件进行开发,开发的步骤包括:定义表格模板,编写后台获取表格数据的Java代码,编写创建组件的JavaScript(以下简称js)代码,编写前台获取表格数据的js代码,编写前台进行分页数据处理的代码,编写前台进行数据排序的js代码及编写前台进行搜索过滤的js代码。
然而,利用现有的前端表格组件进行相关的表格报表开发时,往往需要编写大量的js代码,单实现搜索、排序和分页功能的js代码的平均行数就能达到500行。并且由于编码复杂,这种方法对开发人员的技能要求较高,开发效率、可读性和可维护性较低。
发明内容
本发明实施例提供一种表格生成方法及装置,用以解决现有技术中利用前端表格组件开发表格报表时需要编写大量js代码,而开发难度大,开发效率、代码可读性、可维护性低下的问题。
本发明实施例提供的具体技术方案如下:
一种表格生成方法,包括:
根据指定的模板对象调用JavaScript表格组件创建组件对象实例,其中,所述组件对象实例继承所述JavaScript表格组件嵌入的预设功能;
在创建组件对象实例的过程中,将指定的表格数据的URL插入所述组件对象实例中的对应位置并加载相关表格数据,以及根据所述模板对象中包含的HTML描述信息调用所述组件对象实例中包含的预设功能对所述表格数据进行相应处理,以完成组件对象实例的创建。
通过这样的实现方式,采用JavaScript表格组件统一实现表格的排序、分页和搜索功能,从而大大减少了js代码的编写量,同时,提高了代码的上手性、可读性和可维护性,并极大的提高了开发效率。
较佳的,根据指定的模板对象调用JavaScript表格组件创建组件对象实例,包括:
获取预设的html模板、配置项数组和http请求参数;
根据所述预设的html模板查找对应的模板对象,根据所述对应的模板对象创建组件对象实例;
根据所述预设的配置项数组中的配置信息对所述组件对象实例中的默认配置项进行覆盖;
将所述模板对象和所述预设的http请求参数作为所述组件对象实例的缓存数据进行缓存;
调用JavaScript表格组件实现所述组件对象实例的相关功能。
通过这样的实现方式,通过调用已有的模板对象和JavaScript表格组件即可快速创建组件对象实例,无需再编写大量的js代码,减少了开发步骤。
较佳的,所述配置项数组为空值;或者,
所述配置项数据包括以下至少之一:页尺寸,数据获取方式,表格行数据迭代模板,需要逐行迭代的数据返回值,总页数,总记录数,表格数据克隆版本,表格目标数据,当前页码,URL。
这样,通过config中的各个配置项控制表格的属性,以及作为实现后续实现排序、搜索和分页功能中的关键参数。
较佳的,所述JavaScript表格组件嵌入的预设功能包括:
排序功能,分页功能和搜索功能。
这样,通过预先在JavaScript表格组件中嵌入排序、分页和搜索功能,在实现组件对象实例的相关功能时直接调用即可,无需再次编写大量的js代码。
较佳的,将指定的表格数据的统一资源定位符URL插入所述组件对象实例中的对应位置并加载相关表格数据,包括:
将指定的表格数据的URL插入所述组建对象实例中的对应位置;
根据所述指定的表格数据的URL,调用ajax请求获取相关表格数据。
这样,即可异步获取表格数据。
较佳的,根据所述模板对象中包含的HTML描述信息调用所述组件对象实例中包含的预设功能对所述表格数据进行相应处理,包括:
根据所述模板对象中包含的HTML描述信息,确定指定的预设功能的标识;
根据预设功能的标识,调用所述组件对象实例继承的对应的功能函数,对已加载的表格数据进行相应处理。
通过这样的实现方式,为表格数据添加排序响应事件,添加分页监听事件,绑定搜索功能等。
一种表格生成装置,包括:
创建单元,用于根据指定的模板对象调用JavaScript表格组件创建组件对象实例,其中,所述组件对象实例继承所述JavaScript表格组件嵌入的预设功能;
处理单元,用于在创建组件对象实例的过程中,将指定的表格数据的URL插入所述组件对象实例中的对应位置并加载相关表格数据,以及根据所述模板对象中包含的HTML描述信息调用所述组件对象实例中包含的预设功能对所述表格数据进行相应处理,以完成组件对象实例的创建。
通过这样的实现方式,采用JavaScript表格组件统一实现表格的排序、分页和搜索功能,从而大大减少了js代码的编写量,同时,提高了代码的上手性、可读性和可维护性,并极大的提高了开发效率。
较佳的,所述创建单元具体用于:
获取预设的html模板、配置项数组和http请求参数;
根据所述预设的html模板查找对应的模板对象,根据所述对应的模板对象创建组件对象实例;
根据所述预设的配置项数组中的配置信息对所述组件对象实例中的默认配置项进行覆盖;
将所述模板对象和所述预设的http请求参数作为所述组件对象实例的缓存数据进行缓存;
调用JavaScript表格组件实现所述组件对象实例的相关功能。
通过这样的实现方式,通过调用已有的模板对象和JavaScript表格组件即可快速创建组件对象实例,无需再编写大量的js代码,减少了开发步骤。
较佳的,所述配置项数组为空值;或者,
所述配置项数据包括以下至少之一:页尺寸,数据获取方式,表格行数据迭代模板,需要逐行迭代的数据返回值,总页数,总记录数,表格数据克隆版本,表格目标数据,当前页码,URL。
这样,通过config中的各个配置项控制表格的属性,以及作为实现后续实现排序、搜索和分页功能中的关键参数。
较佳的,所述JavaScript表格组件嵌入的预设功能包括:
排序功能,分页功能和搜索功能。
这样,通过预先在JavaScript表格组件中嵌入排序、分页和搜索功能,在实现组件对象实例的相关功能时直接调用即可,无需再次编写大量的js代码。
较佳的,所述处理单元具体用于:
将指定的表格数据的URL插入所述组建对象实例中的对应位置;
根据所述指定的表格数据的URL,调用ajax请求获取相关表格数据。
这样,即可异步获取表格数据。
较佳的,所述处理单元具体用于:
根据所述模板对象中包含的HTML描述信息,确定指定的预设功能的标识;
根据预设功能的标识,调用所述组件对象实例继承的对应的功能函数,对已加载的表格数据进行相应处理。
通过这样的实现方式,为表格数据添加排序响应事件,添加分页监听事件,绑定搜索功能等。
附图说明
图1为现有技术下无线数读中常用的表格形式示意图;
图2为本发明实施例中生成表格的流程图;
图3为本发明实施例中创建组件对象实例的具体流程图;
图4为本发明实施例中模板对象示意图;
图5为本发明实施例中实现排序的流程图;
图6为本发明实施例中表格生成装置的结构图。
具体实施方式
为了解决目前在利用前端表格组件开发表格报表时,需要编写大量js代码,开发难度大,而开发效率、代码可读性、可维护性低下的问题,本发明实施例中,提供了一种表格生成方法及装置。
下面结合附图对本发明优选的实施方式进行详细说明。
参阅图2所示,本发明实施例中,生成表格的具体流程如下:
步骤200:根据指定的模板对象调用JavaScript表格组件创建组件对象实例,其中,组件对象实例继承了JavaScript表格组件嵌入的预设功能。
步骤210:在创建组件对象实例的过程中,将指定的表格数据的URL插入组件对象实例中的对应位置并加载相关表格数据,以及根据上述模板对象中包含的HTML描述信息调用组件对象实例中包含的预设功能对表格数据进行相应处理,以完成组件对象实例的创建。
具体的,在执行步骤200时,可遵循以下如图3所示的流程:
步骤2001:获取预设的html模板(container)、配置项数组(config)和超级文本传送协议(HyperTextTransportProtocol,http)请求参数(postData)。
其中,container用于定位所需的模板对象的位置,config用于存储与表格相关的配置项,postData用于在后续调用ajax(AsynchronousJavascript+XML,异步JavaScript和XML)获取表格数据时,存储需要附带传入的额外参数。
步骤2002:根据预设的container查找到对应的模板对象,根据该对应的模板对象创建组件对象实例。
如图4所示,为一个模板对象的示意图,模板对象规定了表格的结构,定义了每列(行)的数据格式,图4中的“{{name}}”、“{{version}}”等标识为占位符,后续可为实际数据所替换。
步骤2003:根据预设的config中的配置信息对组件对象实例中的默认配置项进行覆盖。
其中,config可以为空值,也可以包括但不限于以下至少之一个参数:页尺寸(PageSize),用于标识每页显示的记录条数;数据获取方式(dataType),用于规定数据的获取方式,其中,dataType值为all时,表示一次性获取所有数据,dataType值为one时,表示一次仅获取单页数据;表格行数据迭代模板(trHtml),用于规定每行数据的格式;需要逐行迭代的数据返回值(iterCols),用于在返回数据中,标识需要逐行迭代的数据值(key);总页数(totalPage),用于标识表格内的总页数;总记录数(totalCount),用于标识表格内的总记录数;表格数据克隆版本(dataClone),用于存储获取的表格数据的克隆版本;表格目标数据(tableData),用于存储生成表格的目标数据;当前页码(currentPage),用于标识当前所在的页码;统一资源定位符(UniformResourceLocator,URL),用于异步获取表格数据。
在实际应用中,一般只需在config中传入URL值,其他参数则采用模板对象的默认配置项。
步骤2004:将模板对象和预设的postData作为组件对象实例的缓存数据进行缓存。
在实际应用中,还需要对模板对象的超文本标记语言(HyperTextMarkuplanguage,HTML)描述信息进行扫描,拷贝HTML描述信息内tbody中的内容作为trHtml进行缓存,tbody的描述信息如以下形式:
较佳的,由于本发明实施例可以重新设置trHtml,因此可以通过修改trHtml达到在表格运行期间动态地替换模板的目的。例如,假设原表格共有10列,若删去trHtml中第1列的占位符,则在实际传入数据时第1列的数据将不会写入表格。
同时,根据扫描结果,还需要将HTML描述信息中iterCols中的值取出,从而获得需要迭代的数据关键词并缓存,例如,如图4中所示的模板对象的iterClos值即为{name,version,id,group,version1},其中,name、version、id、group、version1分别与图4所示模板对象中的用户群名称、分群条件、id、用户群名称1、分群条件1等关键词所对应。
步骤2005:调用JavaScript表格组件实现组件对象实例的相关功能。
本发明实施例中,由于已在JavaScript表格组件中嵌入了一些预设功能,如:排序功能、分页功能和搜索功能等,因此在实现组件对象实例的相关功能时,无需再次编写冗长的js代码,调用JavaScript表格组件即可实现,从而大大减少了js代码的编写,有效提升了开发效率。具体实现方法将在后文详细介绍。
具体的,本发明实施例中,将指定的表格数据的URL插入组建对象实例中的对应位置后,在后续需要获取表格数据时,根据该指定的表格数据的URL,自动调用ajax请求获取相关的表格数据。
本实施例中,将表格数据写入表格后,需要根据模板对象中包含的HTML描述信息,确定指定的预设功能的标识,然后根据预设功能的标识,调用组件对象实例继承的对应的功能函数,对已加载的表格数据进行相应的处理,如:为表格数据添加排序响应事件,添加分页监听事件,绑定搜索功能等。
具体的,实现组件对象实例的排序功能的详细方式如下:
扫描模板对象包含的HTML描述信息,找到所有带有CSS类名为tableSort的列,在这些列的html代码中添加排序图标的html代码,并调用JavaScript表格组件为排序图标增加排序响应事件。其中,tableSort类(也可定义为其它类名)相当于自动绑定到组件中预设的实现排序功能的公共函数的锚点/定位标识,本身并不作为级联样式表(CSS)来使用。
组件对象实例创建完成后,若点击列名旁的排序图标,便会触发该列的排序响应事件,从而根据JavaScript表格组件内预设的排序机制,对该列进行排序。参阅图5所示,实现排序的具体流程如下:
步骤500:根据用户的输入指令(如点击排序图标)确定触发排序响应事件时,判断组件对象实例属性中的当前排序列属性(tableTarget)是否有值且不为当前列,若是,则将tableTarget中的值对应的列的已排序图标置换为未排序图标,然后将tableTarget的值更新为当前点击的列对应的值;否则,执行步骤501。
步骤501:判断sortTarget中的CSS类名是否为正序(asc),若是,则将CSS类名置为倒序(desc),否则,将CSS类名置为asc;并将置换后的CSS类名更新到组件对象实例的postData的sortType值中。
其中,若上述sortTarget中的CSS类名判断结果为asc,即表示上一个排序列的排序图标为正序图标,上一次的排序为正序排序,将CSS类名置为desc后,表示这次需要对当前的排序列进行倒序排序,反之亦然。
步骤502:扫描组件对象实例的列html描述属性,获取排序字段名(sortCol)的值,并将该值更新到postData的sortCol中。
步骤503:判断组件对象实例的config中的dataType属性值是否为all,若是,则调用JavaScript表格组件对缓存数据进行排序,然后直接调用drawTable方法,不输入参数,重新生成表格html代码;否则,调用drawTable方法,输入参数true,重新生成表格html代码。
这里,若dataType属性值为all,表示表格所有页面的数据已一次性从后台(如服务器)获取,并缓存到本地,排序操作由前台(如客户端)完成;若dataType属性值为one,表示排序操作由后台完成,前台每次从后台完成排序后的表格中获取一页数据。
具体的,drawTable方法的实现过程如下:
A、输入参数为true时,表示需要重新获取数据,则根据config内的currentPage获取当前页码,并将当前页码值放入postData中,然后根据config内的URL调用ajax请求获取相关数据。若数据获取失败,则提示错误信息;若数据获取成功,则将数据缓存到config内的dataClone和tableData中,如果dataType为one,则从ajax返回的数据结果中,解析总页数和总记录数,分别放置到config内的totalPage和totalCount内;如果dataType为all,则根据tableData中的数据和pageSize自动计算总页数和总记录数,然后放置到config内的totalPage和totalCount内。最后调用dealWithResult方法生成表格html代码。
B、输入参数为false或没有输入参数时,则直接调用dealWithResult方法生成表格html代码。
具体的,dealWithResult方法的实现过程如下:
A、dataType为all,则根据config中的currentPage和pageSize,从缓存数据tableData中截取当前页的数据,然后调用drawOnePage方法,传入当前页数据。
例如,假设config中的currentPage为5,pageSize为10,经过计算,需要从缓存数据tableData中截取第41-50条记录数,作为第5页的页面数据。
B、dataType为one,则直接调用drawOnePage方法,传入tableData数据。
具体的,drawOnePage方法的实现过程如下:
A、清空模板对象的HTML描述信息内tbody中的内容。
B、读取步骤2004中缓存的模板对象的克隆版本。
C、以上述模板对象的克隆版本为基础,逐行读取传入的当前页数据,然后根据iterCols的列名,从逐行读取的行数据中逐个获取对应的值,依次替换掉该模板对象克隆版本的html代码中对应列的占位符,并将最终生成的html代码插入到tbody的最后。
例如,假设一模板对象内列名分别为“名称”和“号码”的列在html代码中对应列的占位符分别为{{name},{number}},若从tableData中取出一行数据为{name:a,number:1},由iterCols可知,“a”为“名称”列下的数据,“1”为“号码”列下的数据,因此,依次将html代码中的占位符{{name}}替换为“a”,将占位符{{number}}替换为“1”,最后将替换之后的html代码插入tbody的最后,即生成了一行数据。
D、以步骤C中得到的迭代了数据的模板对象的克隆版本为基础,重复步骤C和步骤D,直至tableData中的当前页数据按照数据的次序从前到后全部插入表格。
本发明实施例中,实现组件对象实例的分页功能的详细方式如下:
调用drawPagination方法,该方法为:根据config中的totalPage、currentPage以及约定的页码生成规则(如若是首页则不显示前一页,10页以内全部显示页码,10页以上且当前页码>7,则7之后显示省略号等),生成对应的分页html代码。然后扫描模板对象包含的HTML描述信息,找到所有带有CSS类名为wdm-pagination的html对象,将该对象中的html代码替换为上述分页html代码,并调用JavaScript表格组件为所有页码、上一页(“<”)以及下一页(“>”)添加监听事件。其中,wdm-pagination类(也可定义为其它类名)相当于自动绑定到组件实例中预设的实现分页功能的公共函数的锚点/定位标示符。
组件对象实例创建完成后,若点击页面上的页码或“<”、“>”的图标时,便会触发分页监听事件,JavaScript表格组件将组件对象实例config中的currentPage值置为点击的相应页码(如点击了第2页,则将currentPage置为2),然后调用drawTable方法绘制表格,并根据config内的dataType的值确定是否带入参数,若dataType为all,则不带参数,若dataType为one,则带入参数true。
本发明实施例中,实现组件对象实例的绑定搜索功能的详细方式如下:
调用JavaScript表格组件定义一个搜索(filter)方法,并设置该filter方法的输入参数为搜索关键词(key)和需要匹配的数据列名(colums)。然后,在组件对象实例创建后,JavaScript表格组件将上述filter方法同组件对象实例中对应输入框的keyup事件进行绑定。
在实际使用中,当在组件对象实例的输入框中输入key值并触发该输入框的keyup事件后,同时还会触发JavaScript表格组件的搜索功能。JavaScript表格组件调用filter方法将上述输入的key值转为小写(以模糊匹配),并将小写后的key值存入postData中,同时将config内的currentPage改为1。如果dataType为all,则从dataClone内逐行读取缓存数据,根据输入参数colums和小写后的key,过滤得到匹配数据,并将匹配数据存入tableData中,将该数据作为构建表格的源数据,最后调用drawTable方法(不带入参数)生成表格html代码,从而绘制表格。如果dataType为one,则直接调用drawTable方法,带入参数为true,即交由后台进行搜索过滤的操作,前台直接读取后台返回的表格数据作为绘制表格的源数据。
本发明实施例中并未直接实现组件对象实例的搜索功能,而是通过JavaScript表格组件定义了一个搜索函数,再将组件对象实例的搜索框绑定到该搜索函数,这样,当遇到一个页面多个表格的情况时,只要将多个表格的搜索函数同时绑定到一个搜索框,即可实现同时对页面上的所有表格针对同一个关键词进行搜索,具有更好的实际应用价值。
基于上述实施例,参阅图6所示,本发明实施例中,表格生成装置包括:
创建单元600,用于根据指定的模板对象调用JavaScript表格组件创建组件对象实例,其中,组件对象实例继承了JavaScript表格组件嵌入的预设功能。
处理单元601,用于在创建组件对象实例的过程中,将指定的表格数据的URL插入组件对象实例中的对应位置并加载相关表格数据,以及根据模板对象中包含的HTML描述信息调用组件对象实例中包含的预设功能对表格数据进行相应处理,以完成组件对象实例的创建。
其中,创建单元600可具体用于:获取预设的container、config和postData;根据预设的container查找对应的模板对象,根据该对应的模板对象创建组件对象实例;根据预设的config中的配置信息对组件对象实例中的默认配置项进行覆盖;将模板对象和预设的postData作为组件对象实例的缓存数据进行缓存;调用JavaScript表格组件实现组件对象实例的相关功能。
在实际应用中,上述config可以为空值,或者,也可以包括但不限于以下至少之一个参数:页尺寸,数据获取方式,表格行数据迭代模板,需要逐行迭代的数据返回值,总页数,总记录数,表格数据克隆版本,表格目标数据,当前页码,URL。
上述JavaScript表格组件嵌入的预设功能可以包括但不限于以下功能:排序功能,分页功能和搜索功能。
本发明实施例中,处理单元601具体用于:将指定的表格数据的URL插入组建对象实例中的对应位置;根据指定的表格数据的URL,调用ajax请求获取相关表格数据。
处理单元还可用于:根据模板对象中包含的HTML描述信息,确定指定的预设功能的标识;根据预设功能的标识,调用组件对象实例继承的对应的功能函数,对已加载的表格数据进行相应处理。
综上所述,本发明实施例提供的技术方案采用JavaScript表格组件统一实现表格的排序、分页和搜索功能,在创建组件对象实例时无需编写大量的js代码,将实现搜索、排序、分页等功能所需的js代码平均行数从500行缩减到15行,大大减少了js代码的编写量。同时,提高了代码的上手性、可读性和可维护性,并极大的提高了开发效率。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (12)

1.一种表格生成方法,其特征在于,包括:
根据指定的模板对象调用JavaScript表格组件创建组件对象实例,其中,所述组件对象实例继承所述JavaScript表格组件嵌入的预设功能;
在创建组件对象实例的过程中,将指定的表格数据的统一资源定位符URL插入所述组件对象实例中的对应位置并加载相关表格数据,以及根据所述模板对象中包含的超文本标记语言HTML描述信息调用所述组件对象实例中包含的预设功能对所述表格数据进行相应处理,以完成组件对象实例的创建。
2.如权利要求1所述的方法,其特征在于,根据指定的模板对象调用JavaScript表格组件创建组件对象实例,包括:
获取预设的html模板、配置项数组和超级文本传送协议http请求参数;
根据所述预设的html模板查找对应的模板对象,根据所述对应的模板对象创建组件对象实例;
根据所述预设的配置项数组中的配置信息对所述组件对象实例中的默认配置项进行覆盖;
将所述模板对象和所述预设的http请求参数作为所述组件对象实例的缓存数据进行缓存;
调用JavaScript表格组件实现所述组件对象实例的相关功能。
3.如权利要求2所述的方法,其特征在于,所述配置项数组为空值;或者,
所述配置项数据包括以下至少之一:页尺寸,数据获取方式,表格行数据迭代模板,需要逐行迭代的数据返回值,总页数,总记录数,表格数据克隆版本,表格目标数据,当前页码,URL。
4.如权利要求1所述的方法,其特征在于,所述JavaScript表格组件嵌入的预设功能包括:
排序功能,分页功能和搜索功能。
5.如权利要求1-4任一项所述的方法,其特征在于,将指定的表格数据的统一资源定位符URL插入所述组件对象实例中的对应位置并加载相关表格数据,包括:
将指定的表格数据的URL插入所述组建对象实例中的对应位置;
根据所述指定的表格数据的URL,调用ajax请求获取相关表格数据。
6.如权利要求5所述的方法,其特征在于,根据所述模板对象中包含的HTML描述信息调用所述组件对象实例中包含的预设功能对所述表格数据进行相应处理,包括:
根据所述模板对象中包含的HTML描述信息,确定指定的预设功能的标识;
根据预设功能的标识,调用所述组件对象实例继承的对应的功能函数,对已加载的表格数据进行相应处理。
7.一种表格生成装置,其特征在于,包括:
创建单元,用于根据指定的模板对象调用JavaScript表格组件创建组件对象实例,其中,所述组件对象实例继承所述JavaScript表格组件嵌入的预设功能;
处理单元,用于在创建组件对象实例的过程中,将指定的表格数据的统一资源定位符URL插入所述组件对象实例中的对应位置并加载相关表格数据,以及根据所述模板对象中包含的超文本标记语言HTML描述信息调用所述组件对象实例中包含的预设功能对所述表格数据进行相应处理,以完成组件对象实例的创建。
8.如权利要求7所述的装置,其特征在于,所述创建单元具体用于:
获取预设的html模板、配置项数组和超级文本传送协议http请求参数;
根据所述预设的html模板查找对应的模板对象,根据所述对应的模板对象创建组件对象实例;
根据所述预设的配置项数组中的配置信息对所述组件对象实例中的默认配置项进行覆盖;
将所述模板对象和所述预设的http请求参数作为所述组件对象实例的缓存数据进行缓存;
调用JavaScript表格组件实现所述组件对象实例的相关功能。
9.如权利要求8所述的装置,其特征在于,所述配置项数组为空值;或者,
所述配置项数据包括以下至少之一:页尺寸,数据获取方式,表格行数据迭代模板,需要逐行迭代的数据返回值,总页数,总记录数,表格数据克隆版本,表格目标数据,当前页码,URL。
10.如权利要求7所述的装置,其特征在于,所述JavaScript表格组件嵌入的预设功能包括:
排序功能,分页功能和搜索功能。
11.如权利要求7-10任一项所述的装置,其特征在于,所述处理单元具体用于:
将指定的表格数据的URL插入所述组建对象实例中的对应位置;
根据所述指定的表格数据的URL,调用ajax请求获取相关表格数据。
12.如权利要求11所述的装置,其特征在于,所述处理单元具体用于:
根据所述模板对象中包含的HTML描述信息,确定指定的预设功能的标识;
根据预设功能的标识,调用所述组件对象实例继承的对应的功能函数,对已加载的表格数据进行相应处理。
CN201410247355.0A 2014-06-05 2014-06-05 一种表格生成方法及装置 Active CN105138312B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410247355.0A CN105138312B (zh) 2014-06-05 2014-06-05 一种表格生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410247355.0A CN105138312B (zh) 2014-06-05 2014-06-05 一种表格生成方法及装置

Publications (2)

Publication Number Publication Date
CN105138312A true CN105138312A (zh) 2015-12-09
CN105138312B CN105138312B (zh) 2018-07-03

Family

ID=54723671

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410247355.0A Active CN105138312B (zh) 2014-06-05 2014-06-05 一种表格生成方法及装置

Country Status (1)

Country Link
CN (1) CN105138312B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106886465A (zh) * 2015-12-16 2017-06-23 阿里巴巴集团控股有限公司 一种数据获取方法及装置
CN106933899A (zh) * 2015-12-30 2017-07-07 远光软件股份有限公司 表格处理方法及装置
CN107220378A (zh) * 2017-06-26 2017-09-29 福建中金在线信息科技有限公司 表格排序方法和装置、web页面展示方法和装置
CN107229685A (zh) * 2017-05-11 2017-10-03 东软集团股份有限公司 实例生成、实例操作方法及装置、存储介质及电子设备
CN107391158A (zh) * 2017-08-02 2017-11-24 郑州云海信息技术有限公司 一种基于iDataTable封装实现表格绘制的方法及设备
CN107423072A (zh) * 2017-08-11 2017-12-01 郑州云海信息技术有限公司 web页面动态列筛选与搜索表格数据的方法和装置
CN108509201A (zh) * 2018-03-20 2018-09-07 深圳神州数码云科数据技术有限公司 一种代码生成方法和装置
CN110516218A (zh) * 2019-08-21 2019-11-29 深圳证券交易所 表格的生成方法、终端和计算机可读存储介质
WO2020029383A1 (zh) * 2018-08-07 2020-02-13 平安科技(深圳)有限公司 分页处理方法、系统、计算机设备和存储介质
CN111274304A (zh) * 2019-12-31 2020-06-12 武汉优聘科技有限公司 一种数据可视化的图表控制方法及系统
CN116757169A (zh) * 2023-08-11 2023-09-15 山东高速信息集团有限公司 一种高速公路养护计量支付报表的生成方法、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1274120A (zh) * 1999-05-17 2000-11-22 英业达股份有限公司 在网络数据库中快速读取数据的方法
US20020107890A1 (en) * 2000-12-01 2002-08-08 Yang Gao Method of <script> based remote JavaScript function call of web page
CN103543991A (zh) * 2012-07-09 2014-01-29 百度在线网络技术(北京)有限公司 一种扩展浏览器功能的方法及浏览器系统
CN103699674A (zh) * 2013-12-31 2014-04-02 优视科技有限公司 网页保存、网页打开方法及装置和网页浏览系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1274120A (zh) * 1999-05-17 2000-11-22 英业达股份有限公司 在网络数据库中快速读取数据的方法
US20020107890A1 (en) * 2000-12-01 2002-08-08 Yang Gao Method of <script> based remote JavaScript function call of web page
CN103543991A (zh) * 2012-07-09 2014-01-29 百度在线网络技术(北京)有限公司 一种扩展浏览器功能的方法及浏览器系统
CN103699674A (zh) * 2013-12-31 2014-04-02 优视科技有限公司 网页保存、网页打开方法及装置和网页浏览系统

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106886465A (zh) * 2015-12-16 2017-06-23 阿里巴巴集团控股有限公司 一种数据获取方法及装置
CN106933899A (zh) * 2015-12-30 2017-07-07 远光软件股份有限公司 表格处理方法及装置
CN107229685A (zh) * 2017-05-11 2017-10-03 东软集团股份有限公司 实例生成、实例操作方法及装置、存储介质及电子设备
CN107220378A (zh) * 2017-06-26 2017-09-29 福建中金在线信息科技有限公司 表格排序方法和装置、web页面展示方法和装置
CN107391158A (zh) * 2017-08-02 2017-11-24 郑州云海信息技术有限公司 一种基于iDataTable封装实现表格绘制的方法及设备
CN107423072B (zh) * 2017-08-11 2020-10-30 苏州浪潮智能科技有限公司 web页面动态列筛选与搜索表格数据的方法和装置
CN107423072A (zh) * 2017-08-11 2017-12-01 郑州云海信息技术有限公司 web页面动态列筛选与搜索表格数据的方法和装置
CN108509201A (zh) * 2018-03-20 2018-09-07 深圳神州数码云科数据技术有限公司 一种代码生成方法和装置
WO2020029383A1 (zh) * 2018-08-07 2020-02-13 平安科技(深圳)有限公司 分页处理方法、系统、计算机设备和存储介质
CN110516218A (zh) * 2019-08-21 2019-11-29 深圳证券交易所 表格的生成方法、终端和计算机可读存储介质
CN110516218B (zh) * 2019-08-21 2023-10-10 深圳证券交易所 表格的生成方法、终端和计算机可读存储介质
CN111274304A (zh) * 2019-12-31 2020-06-12 武汉优聘科技有限公司 一种数据可视化的图表控制方法及系统
CN116757169A (zh) * 2023-08-11 2023-09-15 山东高速信息集团有限公司 一种高速公路养护计量支付报表的生成方法、设备及介质
CN116757169B (zh) * 2023-08-11 2023-12-01 山东高速信息集团有限公司 一种高速公路养护计量支付报表的生成方法、设备及介质

Also Published As

Publication number Publication date
CN105138312B (zh) 2018-07-03

Similar Documents

Publication Publication Date Title
CN105138312A (zh) 一种表格生成方法及装置
CN105243159A (zh) 一种基于可视化脚本编辑器的分布式网络爬虫系统
CN105095067A (zh) 用户界面元素对象识别及自动化测试的方法和装置
CN103078945B (zh) 对浏览器崩溃数据进行处理的方法与系统
CN109145078A (zh) 对本机应用的应用页面建索引
CN104036011A (zh) 网页元素的显示方法以及浏览器装置
AU2009238294A1 (en) Data transformation based on a technical design document
CN103678511A (zh) 根据可视化模板进行网页内容抽取的方法及装置
CN109190062B (zh) 目标语料数据的爬取方法、装置及存储介质
JP4568262B2 (ja) データ収集システム
CN111367976A (zh) 基于java反射机制的excel文件数据的导出方法及装置
CN102193798A (zh) 基于Internet的OpenAPI自动获取方法
CN107391528B (zh) 前端组件依赖信息搜索方法及设备
CN103488675A (zh) 一种多网页新闻评论内容自动精确提取装置
KR20170073693A (ko) 유사 그룹 요소 추출
CN101315629B (zh) 网页动态内容的下载方法及其系统
CN112181410A (zh) 一种视图层代码生成方法、装置、电子设备及存储介质
CN111859076A (zh) 数据爬取方法、装置、计算机设备及计算机可读存储介质
CN109189728B (zh) 智能硬件设备、磁盘数据处理方法和存储介质
JP2006065467A (ja) データ抽出定義情報生成装置およびデータ抽出定義情報生成方法
CN102467502A (zh) 一种检索方法及系统
CN113515715B (zh) 埋点事件编码的生成方法、处理方法及相关设备
CN112286879B (zh) 基于元数据的数据资产构建方法及装置
CN114741077A (zh) 基于字段粒度的页面效果预览方法、装置、设备及介质
CN114238391A (zh) 数据分页查询方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant