南京袁永福 报表软件 C#.NET ASP.NET

南京PX(对二甲苯)项目,这是个问题。
三位一体的电子表单工具,同时支持WinForm表单,HTML表单和XSLT表单,表单模板在B/S和C/S下具有相同的用户体验. ---- C#.NET新型报表工具,支持WinForm和ASP.NET,WEB报表工具.
袁永福 江西九江人 2001年东南大学动力系毕业 电子邮箱:yyf9989@hotmail.com QQ群:41118220

动态表单

    随着计算机软件技术的不断完善和发展,国内的信息化建设的日益深入,越来越多的信息化系统开发和运行,人们越来越多的关注并参与到信息化建设中。于是逐渐产生了一个比较突出的矛盾,那就是人们日益增长的信息化建设和运用的需求和使用和日益落伍的信息化建设的手段之间的矛盾。这个矛盾主要表现在
1. 软件公司和系统集成公司接受的信息化建设的项目越来越多,而开发和实施人力不够。
2. 项目进度要求日益提高,而传统的开发模式过于依赖慢速的编程。
3. 系统要求越来越灵活,客户需求变更频繁,而传统的硬编码方式来适应客户需求变化的做法日益落后和低效率。
4. 实施信息系统的地点从大中型城市向中小型城市扩展,信息系统实施点多面广,环境复杂多变,迫切需要控制单点实施时间,提高实施效率。
5. 人力资源的不足和使用不合理,由于信息系统实施地点变多,传统的实施过程可能需要二次开发,需要编程,导致普通的没有编程能力的系统实施人员无法独立的完成实施任务,迫使具有编程能力的程序员过多的参与一线实施。而程序员是软件公司和系统集成公司内的比较高级的人力资源,频繁的参与一线实施是对人力资源的浪费,为此迫切需要功能强大简单易用的实施配套工具软件,提高普通实施人员的工作能力,减少系统现场实施对程序员的依赖。

    这个矛盾有一个比较典型的表现实例就是应用系统的用户数据输入界面,现在出现一些信息系统,客户要求其数据的输入界面可以任意修改。所谓数据输入界面,就是数据表单界面,包括WinForm表单和HTMLForm表单界面,是用户输入原始数据的主要工作区域,它很大程度上影响信息系统能处理的数据格式范围和精度。一些客户由于其自身工作业务的需要,频繁的要求信息提供的数据输入表单界面发生改变,比如新增修改和删除提示信息,文本框,单选复选框和列表框等等,同一个操作,在不同的状态下使用不同的数据输入表单。
    面对这种需求,传统的做法是获得应用系统当前的源代码,进入相应的IDE,进入它的数据表单设计器然后进行修改。比如对ASP.NET系统,使用VS.NET等IDE打开系统的源代码,进入WebForm表单设计器,修改表单界面,还可能修改一些后台程序,然后编译测试,更新应用系统。整个过程繁琐复杂耗时而且不可靠,而且只有有经验的程序员才能完成,水平不高的程序员或普通的系统实施人员是无法胜任这一系列操作。这种更新手段对信息系统的正常工作带来不小的影响。而且若没有系统的源代码或源代码版本不对,则此工作无法完成。
    现在有人开始使用配置文件或者用所谓的表单定义模板来实现动态的表单界面,应用系统运行时,根据需要加载不同的表单定义模板,根据表单定义模板中的定义数据动态的加载表单界面,这种处理模式能满足客户的修改表单输入界面的需求而不影响系统的正常运行,这个过程不需要程序的源代码,没有编译和测试,只要提供表单定义模板文件,一切都是自动完成的。
    但是这种动态表单模式带来一个问题,谁来提供表单定义模板文件。若没有配套工具,则需要手工编写模板文件,这个工作必然是枯燥低效,经常需要多次尝试着凑数据,编制过程非常烦心。若拥有方便易用的配套工具,则能大大加快制作表单定义模板的速度和准确性,提高系统实施人员的工作效率。这里的配套工具就是所见即所得的互换式图形化设计器,简称图形化设计器。
    图形化设计器是一种技术含量比较高的软件,它涉及到构造自定义的文档对象模型,高级的图形编程技术,复杂的用户界面事件的处理,这些技术手段是一般的信息系统开发过程所没有的,开发图形设计器难度大,时间长,工作量大,需要编写数万行的高效率的代码,这些都要求有专门对此有经验的开发者才能开发。一般的小型软件公司没能力开发,有些公司虽然有能力开发,但由于经济技术和时间的原因而一直未能开发出比较好的图形设计器(能开发图形设计器的人必然是高手,高手必然很忙)。但是若具有图形化设计器,则能成倍的加快表单定义模板的编制速度,能在短时间内完成大量的表单定义任务。
    图形化设计器有一种比较简单的开发模式,那就是模拟VS.NET的WinForm窗体设计器的运行原理,设计界面上的设计元素就是Windows控件,这些控件处于设计模式,可以直接拖拽操作来修改控件的位置和大小,这种方式实现简单,开发工作量小,但存在以下缺点:
1. 程序运行缓慢而且消耗大量资源,由于Windows控件是一种重量级资源,当文档中包含很多设计元素时需要动态加载很多个Windows控件,这样程序运行缓慢而且消耗很多资源。
2. Windows控件基本上是矩形的,当需要实现非矩形的设计元素时则很困难。
3. 当需要绘制已有控件不支持的图形时需要编写新的控件。
4. 文档重绘慢而且难于控制,文档重绘需要各个Windows控件的重绘,此时操作系统需要一个个通知这些控件重绘,需要进行大量不直接绘图的操作。
5. 文档视图不能输出为图片,很难向其他应用程序开放编程接口。
    而图形设计器自己绘制图形时虽然实现复杂,但不会有上述缺点。程序运行快,可对图形进行全面的控制。XDesignerLib实现的就是自己绘制图形的图形化设计器。

    除了用于设计数据表单界面的图形化设计器,还有很多其他的领域需要图形化设计器。只要是图形化设计器,那就都需要解决类似的问题,其程序结构也大体一样。
    有鉴于此,本人开发了名为XHtmlFormDeisgner的HTML表单设计器,它能定义HTML表单,并能将其定义信息保存到XML文档,而且还能在设计器中直接预览设计出来的HTML表单.详细情况请查看 http://www.xdesigner.cn/_xhtmldesigner.aspx ,希望能给大家实现动态表单有所帮助.

袁永福(http://www.xdesigner.cn) 2007-4-4

posted on 2007-04-04 00:36 袁永福 阅读(4325) 评论(11)  编辑 收藏 网摘

评论

#1楼  2007-04-04 08:09 neuhawk      

我是用winform 2.0自带的设计功能设计表单,用xml保存表单内容.   回复  引用  查看    

#2楼  2007-04-04 08:50 sina [未注册用户]

不错。
  回复  引用    

#3楼  2007-04-04 08:54 qlbc [未注册用户]

to: neuhawk
能不能介绍一下winform自带的设计功能怎么用?   回复  引用    

#4楼  2007-04-04 10:00 e表      

看了看,除了将绝对坐标转为流模式这个功能点有点用之外.其它的好象没有什么用,只是看上去很美罢了,我这么说希望作者不要生气,其实作者的技术水平是很优秀的.
这个动态表单工具关键是定位用在什么地方的问题应考虑清楚. 不能想当然.它就象我做了好几年的自定义web表单工具eform(详见: http://www.fcsoft.com.cn )一样.感觉总是目标应用定位不清晰. 所以关键应想好如何和类似的工具(如 DreamWeaver软件, ms infopath软件,具体的各种信息管理系统中带的表单工具等等)区分开来. 我也希望作者能帮我理清这个问题.   回复  引用  查看    

#5楼 [楼主] 2007-04-04 10:11 袁永福      

实际上我是做了个图形设计器的中间件,在这个基础上我已经做了一些设计器,包括类似PowerDesigner的数据库设计器,WINFORM和HTMLFORM的表单设计器,我的报表设计器也是基于这个的。有了这个中间件,做图形设计器就用不着很费力了。   回复  引用  查看    

#6楼  2007-04-04 10:16 布尔      

复杂表单怎么办?表单之间有关联怎么办?支持代码表吗?   回复  引用  查看    

#7楼  2007-04-04 12:19 [David.S]      

@e表
你的eform看过,很不错,但让用户自己定义的话,还是太高看用户的水平了。做成中间件到是个不错的想法。   回复  引用  查看    

#8楼  2007-04-04 12:21 [David.S]      

@袁永福
做成中间件是个不错的想法,去看下先。   回复  引用  查看    

#9楼  2007-04-04 14:04 neuhawk      

这个东西,自己实现不难的.
参考msdn的例子就可以了~   回复  引用  查看    

#10楼  2007-04-05 01:06 9527 [未注册用户]

neuhawk,
msdn例子地址是多少?   回复  引用    

#11楼  2008-11-24 17:38 Jachnicky      

楼主,我现在在开发OA系统,就是想有一种技术可以让用户自己设计表单,设计好后会发现审批,要根据用户输入表单中的一些值,比如部门来确定某些人审批,请问楼主的设计器可以胜任吗?你提供的链接:http://www.xdesigner.cn/_xhtmldesigner.aspx 为什么是无效的?
期望楼主的回答,谢谢.   回复  引用  查看    


标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-04-04 10:03 编辑过
Google站内搜索

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》



相关文章:

相关链接: