[发明专利]一种自动识别动态控件的方法在审
| 申请号: | 201410405283.8 | 申请日: | 2014-08-18 |
| 公开(公告)号: | CN104156218A | 公开(公告)日: | 2014-11-19 |
| 发明(设计)人: | 段国栋 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
| 主分类号: | G06F9/44 | 分类号: | G06F9/44 |
| 代理公司: | 无 | 代理人: | 无 |
| 地址: | 250101 山东*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 自动识别 动态 控件 方法 | ||
技术领域
本发明涉及计算机技术领域,特别涉及一种自动识别动态控件的方法。
背景技术
目前做动态添加控件的方法很多,无论是那种开发语言实现,大致思路都是根据添加的控件还分别定义控件的唯一标识。一般思路就是在添加一个控件的时候,给控件指定一个唯一标识符,如果还有其他控件要添加的时候,再给控件指定一个标识符,且不能和刚出的标识符相冲突。当第一次动态控件添加完成后,在进行第二次的控件添加,此时必须保证添加的控件不能和上一次添加的控件的唯一标识相同,否则会出现页面错误。所以这里一般常规做法是,记录一个全局标识,当出现多次添加控件时,会让全局标识发生改变,只表示一个记录而已,表示下次添加的控件标识是以一个什么基数来做增加。这样每次会循环利用全局标识。也会增加消耗系统性能。如果对添加的控件进行删除时,还要记录每次添加的控件的唯一标识,把每个控件的标识都传递给调用者,调用者得到每个控件的唯一标识,然后一个一个的进行删除。这样不仅会造成代码部分冗余还会造成代码的可读性比较差。这种方法后来虽然有过改善,但是效果也不是很好。改善的方法是,在添加控件的时候,把一次添加的所有控件都放入到一个表格中或者层(DIV)中,这样做的目的是有利于删除,但是会造成添加控件时的混乱,因为在添加的时候还需要记录层的唯一标识,添加一次对层进行一次唯一标识的确认,这样在删除的时候,只需要传递一个层的唯一标识就可以,当调用者调用的时候,判断识别出层的标识,然后把整个层删除即可,这样就会把层里包含的所有控件同时删除掉。这样做的目的只是为了删除的时候会省去好多冗余的代码,但是从整体的架构上考虑,也是不够完美,因为这样造成了添加时的混乱以及代码的维护,以及维护的工作量比较大。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种代码可读性高的自动识别动态控件的方法。
本发明是通过如下技术方案实现的:
一种自动识别动态控件的方法,其特征在于包括以下步骤:
a)首先控件的创建是提供一组模板,该模板就是要动态添加控件的模板,添加时可以根据全局的变量来定义控件的唯一标识,控件定义完成后,把表的列和行都添加到表格里,此时添加控件就完成了;
b)识别控件是当把已添加的控件让调用者全部都能识别出来,需要把全局变量值传递给调用者,调用者就可以根据变量的值,来判断出控件的唯一标识,这样就可以对控件实现获取值以及对控件的删除工作;执行完成后,所有的控制识别完成。
本发明的有益效果是:该自动识别动态控件的方法在动态添加控件时,可以自动识别每一个添加的控件,而且各个控件的唯一标识也很有规律可循,不会造成混乱,且在删除时,也不需要传递更多的参数,只需要传递一个值,便可以得到所有控件的唯一标识;这样就可以提高代码的可读性,而且性能也比较高,维护成本也比较低。
附图说明
下面结合附图对本发明作进一步的说明。
附图1为本发明方法流程示意图。
具体实施方式
附图为本发明的一种具体实施例。当需要处理添加多组不同控制时,在刚开始添加控件时,定义一个全局的变量来存放初始控件的状态,变量的定义为一个整数类型。在添加第一个控件时,设置该控件的唯一标识ID为控件的类型加上变量自动加1后的值,这样处理后的字符串作为该新增控件的ID名称。当需要填加其他类型的控件时,添加的同时,把该控件的唯一标识ID定义为控件类型加上此时变量的值拼接成的字符串即可。这样多次添加的控件后,变量在每次添加后都会自动累加,当需要得到所有添加的控件的值时,只需要把该变量的最后的值传递给调用者,调用者就可以根据此时变量的值来推算出所有控件的唯一标识ID,通过ID就可以得到所有控件的值。
该自动识别动态控件的方法包括以下步骤:
一:动态控件的创建基本配置
先提供一组模板,该模板就是要动态添加控件的模板,添加的时候可以参照模板来实现添加。在添加的控件的时,可以先定义好每一个要添加的控件的样式,把他们都先预定好,比如我们要把控件添加到表格里,那么先要把表格的样式都定义好,下面介绍的是一个表格的行和列的样式,如下所示:
var vTb = $(#tab_UserInfo); //得到表格ID=TbData的jquery对象
var firstTr = vTb.find('tbody>tr:first');
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410405283.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种安装包的下载方法、系统及服务器
- 下一篇:用于生成用户界面的装置和方法





