提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
转帖|其它|编辑:郝浩|2011-03-28 14:21:54.000|阅读 1094 次
概述:对于单据页面,可能最常见的实现方法就是使用微软的控件,拖来拖去.但随之而来的问题,就是需求不断变化,可能需要维护的字段不断增加和删改,这样就要频繁的修改这个页面,增加或删除某些控件,取值和赋值代码也要一并修改.
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
公司一直在做WebForm软件,所以经常要创建新页面来完成某些功能,如数据的增删改查等.对于单据页面,大家一定不陌生.
可能最常见的场景就是一个列表页面+一个单据页面,列表页面使用网格控件展示批量数据,单据页面用来展示单条数据,并同时可新增和编辑.
对于单据页面,可能最常见的实现方法就是使用微软的控件,拖来拖去.但随之而来的问题,就是需求不断变化,可能需要维护的字段不断增加和删改,这样就要频繁的修改这个页面,增加或删除某些控件,取值和赋值代码也要一并修改.
要说麻烦,其实也简单,就是控件拖来拖去的事情,要说简单,也挺繁琐,字段只要发生变化,就要修改一次.
我使用过PowerBuilder开发工具,里面的数据窗口功能确实很强大,它不必关注加载哪个具体数据窗口,因为它提供一整套如何取值,赋值及UI交互的方法.那我们可不可以移植到WebForm里呢?后来发现Panel控件与PowerBuilder中的数据窗口功能很接近,但它只是一个容器,不提供任何方法.好,我们对此控件进行打造.
首先要可以加载控件,使用Panel.Controls属性,动态加载控件即可,这里我们先看一控件是如何存储的?我设计了一个表,如图-1所示
图-1
部分字段说明:
编码类型和名称 下拉菜单,CheckBoxList,RadioButtonList等控件数据源使用.
数据列名称 下拉菜单DataValueField属性值
显示列名称 下拉菜单DataTextField属性值
样式布局 针对RadioButtonList/CheckBoxList控件使用,设置布局,水平和栏目个数
下面看一个示例,如图-2所示
图-2
我们再看一下根据这些控件数据生成的效果图,如图-3所示.嘿嘿,界面丑了点!这里我们可以使用一个HtmlTable来布局控件,代码在附件的文件中直接下载就可以了.
图-3
其次,控件还要触发事件,前台事件我们通过Control.Addtibutes.Add方式增加即可,后台事件可以通过委托实现.这里要讲一下前台事件的注册,我是在封装Panel控件时,增加一个客户端事件的属性,如图-4所示. 这里要再说明下,属性上方的这些自定义属性,每个属性都有它的含义,有兴趣的朋友可以查阅相关资料,以后我们自己就可以把控件封装成微软的那种控件,岂不是很方便哈?
图-4
其中WebPanelClientEvents类成员如图-5所示
图-5
如何调用呢?如图-6所示
图-6
然后在创建控件时,根据控件编辑类型加载不同的客户端事件即可,代码片断如图-7所示
图-7
OK,到目前为止,将控件如何动态加载到前台的功能已经实现,接下来,我们再看看还有什么功能可以实现.控件展示出来了,自然要对控件取值和赋值.
其实我们在加载数据过程中,可以将TextBox,DropDownList或RadioButtonList这样编辑类型的控件记录下来,然后在后台注册一个HiddenField控件,将控件列表存在里面,供前台获取Panel内控件值时使用.我的实现方式如图-8所示
图-8
将控件名称和编辑类型保存在Dictionary<string,string>数据类型,然后转成json格式字符串,保存在HiddenField控件里,前台调用时,可直接将json格式字符串转为Object对象使用,收集完控件值以后,可以将控件值转为json格式字符串交由后台处理即可
赋值操作相对简单些,可以在动态创建控件时,直接赋值,也可以在前台根据控件列表赋值均可.图-9是下拉菜单触发onchange事件的例子,就是所有的下拉菜单控件的change客户端事件均调用此方法,通过参数as_dropdownlistid区分是哪个控件触发
图-9
至此,一个仿DataWindow控件的WebPanel控件诞生了,最基本的数据展现,取值赋值都没问题的,某些功能,大家还可以自行扩展.
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
文章转载自:网络转载面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢