需求:

目前正在开发一个可视化表单界面设计器,支持拖放,建表建库都可视化,基本需求如下:

1、建数据库表,和表中的字段,支持可视化界面操作

2、自定义表单:可以找个在线html编辑的js控件,有点类似dreamwear画网页的那种,生成jsp页面保存

3、表单和库表的关联:把生成的jsp页面上的html表单控件和库表字段关联起来

 

 

以上3点基本都有解决方案了,而且程序也有个雏形了现在的问题是如何能让客户在制定一个表格的时候去指定一个界面表达方式 。

 

 

目前来讲程序只能做到动态生成客户指定内容但所有项都是自上而下,客户提出想能够通过系统自定义一下表格的界面其实主要是想有的东西比如姓名和性别在同一行

 

我目前的预想的解决方案是先让用户预先指定行数和列数然,每指定一个表格内容后将其提交给一个CELL,再在后台自动生成HTML代码直接存在数据库里,不过这样的界面很石板。

  

收集了一些资料:

1、《商务之星.NET   3.0.2078》的源码,是关于用户自定义UI的。

。《商务之星.NET》的Form设计器几乎与微软的VS.NET 2003的Form设计器完全一样。您可以改动数据库结构、改动Form界面,使用您自己的或第三方控件,添加自己的业务逻辑。可以把您自己写的新程序(C# 或VB.NET)无缝地挂接到《商务之星.NET》系统中,系统会自动调用。《商务之星.NET》的数据库结构和业务逻辑根据用户的需求可以随意改动。数据库升级程序会把老数据库结构升级为新数据库结构。用《商务之星.NET》平台开发进销存管理软件,多数情况下不用写程序而只改动Xml文件就可以完成。

 

  http://www.onlinedown.net/soft/41539.htm

 

  商务管理软件.NET源码 3.0.2039 开源

  

2、Ext(ExtJs)表单设计器 --extjs

功能简介:包含标签、文本、文本域、日期、单选、多选、下拉框、列表框、表格、按钮、图象(可支持运行时修改,通过权限控制)、附件、富文本框、直线、页签等组件,其中包含组件的校验、引入CSS、JS脚本、自定义JS脚本、权限控制(主要提供角色和工作流二种方式,也可以扩展其它的方式)等功能,封装鼠标右键,支持跨浏览器;整个表单可独立布署,权限数据通过rest服务来读取,如果您的应用不需要控制权限,可以不提供rest服务。

 

Ext是一个强大的js类库,以前是基于YAHOO-UI,现在已经完全独立了。

主要包括三个大的文件:样式文件ext-all,ext-base和ext-all脚本(包括所有的类库,您可以根据需要进行删减.官方网站提供这一接口),在引用ext类库的时候.这三个文件必不可少. 它提供了丰富的,非常漂亮的外观体验,成为众多界面层开发人员的追捧!其核心的组件基本覆盖了我们构建富客户端的常用的组件。从 Ext 2开始,商业版(针对那些以盈利为目的的开发方)要收费了。这可能会影响一些他的应用前景。 目前的最新版本为4.0

http://hi.baidu.com/chensong_blog/blog/item/0102ab11950329d3a6ef3f85.html

开源1.1

最新4.0

 

3、Flex 是一个可构建具有表现力的移动、网络和桌面应用程序并且高效、免费的开放源框架。Flex 允许您构建共享一个公共代码库的网络和移动应用程序,从而减少了应用程序创建的时间和成本以及长期维护。

 

Flex 提供一个现代、基于标准的语言和编程模型,该模型支持公共设计模式。使用基于 XML 的声明性语言MXML 描述 UI 布局和行为,使用面向对象的 ActionScript? 3.0 编程语言创建客户端逻辑。Flex 还包含一个丰富的组件库,其中包含 100 多个针对网络和移动应用程序、久经考验

 

Adobe的 完全开源

 

http://hi.baidu.com/chensong_blog/blog/item/d07712df484b781a48540380.html

 

4、FreeForm是昕友软件开发的免费表单设计器

智能在线表单设计器 Web Form Builder

FreeForm : Silverlight Agile Form Engine

 

http://www.cnblogs.com/FreeForm/

 

5、智能表单设计工具-可视化表单自定义工具

 

[详细内容请访问官网:http://www.teamingsoft.com ]

 

专业的电子表单工具-智能表单工具-自适应解析与展现表单-完善的字段级权限控制-java版本

关键词:智能表单、电子表单、自适应解析与展现表单、完善的字段级权限控制

功能特点:

  |__可视化建模   

  |__跨平台运行 -----使用Java语言开发 

  |__支持导出/导入 

  |__支持在线/离线编辑   

  |__支持组织模型导出 -----导出组织模型(各种类型的流程参与者)

  |__支持剪切/复制/粘贴   

  |__拖曳式界面定义   

  |__版本控制 -----用户修改/重定义展现模型是必需 

  |__多数据库支持 -----Oracle / Ms SQLServer / MySQL / DB2 / Sybase  

  |__支持字段级的权限控制 -----每个域都受到权限控制《参见权限审核模型》 

  |__支持三级权限定义 -----每个域都受到:只读 / 编辑 / 不可见 三级权限控制  

  |__支持组织级的权限定义 -----支持“单个用户 / 用户 / 部门 / 岗位 / 角色”五类组织级权限配置 

  |__支持流程级的权限定义 -----支持多流程、多环节的权限配置 

  |__业务展现界面自适应解析 -----业务展现界面与模型相统一,无需再次编码 

  |__支持动态脚本定义 -----丰富用户体验 

  |__支持文档在线编辑/全文批注/手写批注----- office控件实现此功能,更符合用户操作习惯 

  |__支持WAP无线应用的创建 -----内置无线应用创建功能,无需再次编码 

  |__支持智能手机应用的创建 -----内置无线应用创建功能,无需再次编码 

  |__可引用外部应用程序 -----暂支持Java程序的外部调用(CUSTOMAPPLICATION)

 

  注:可以外包。

 

6、WEB项目中自定义表单的设计与实现

 

 对列表记录的增加,删除,修改操作,

 

http://cxlh.iteye.com/blog/306952

http://code.faqee.com/form/list.jsp

 

7、E8 拖放

 

8 用Javascript实现鼠标拖拽网页表单

http://bbs.chinaunix.net/thread-1174666-1-1.html

 

9

FineReport报表,用java中Swing来实现,设计器大约在70M左右,支持三层结构的设计模式,不仅形似而且神似excel。应该是中国市场上制表效率最高的报表工具,容易对报表设计器进行二次开发。

 

10、Oracle WebLogic Integration 自定义控件

http://www.oracle.com/technetwork/cn/topics/soa/wli-custom-control-spring-component-097790-zhs.html

 

11、Jasper Report

 

Jasper Report是用java(最新版也支持Groovy)实现报表的一系列开发包(事实上jasperReport.jar包会依赖于其他几个开源的java包,详细可以在iReport安装目录的/lib目录下找到),最重要的是这一系列工具包大多是开源的,所以在同类产品中算是使用比较广泛。

 

iReport是基于Jasper Report系列工具包实现的一个图形化报表编辑工具。它通过XML来定义报表模板,可以实现多种数据源的呈现,包括数据库,XML文件,Hibernate,CSV文件等,可以生成PDF,Excel,HTML等报表格式。

<iframe id="aswift_5" name="aswift_5" src="https://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-6208739752673518&;output=html&h=280&adk=648496887&adf=1627273244&pi=t.aa~a.416197466~i.191~rp.4&w=852&fwrn=4&fwrnh=100&lmt=1632364679&num_ads=1&rafmt=1&armr=3&sem=mc&pwprc=2064677376&psa=1&ad_type=text_image&format=852x280&url=http%3A%2F%2Fwww.voidcn.com%2Farticle%2Fp-azvpqfph-gp.html&flash=0&fwr=0&pra=3&rh=200&rw=852&rpe=1&resp_fmts=3&wgl=1&fa=27&dt=1632364670432&bpp=2&bdt=2667&idt=3&shv=r20210921&mjsv=m202109200201&ptt=9&saldr=aa&abxe=1&cookie=ID%3D9161b38fc8d46c67-222b2a2161c5005e%3AT%3D1609303026%3ART%3D1609303026%3AS%3DALNI_MZAA4ZxqWAwNiHIIGXfEYBk4p3RPA&prev_fmts=0x0%2C852x280%2C277x600%2C1903x922&nras=3&correlator=2525627854353&frm=20&pv=1&ga_vid=524095448.1609838439&ga_sid=1632364670&ga_hid=2135624857&ga_fc=0&u_tz=480&u_his=1&u_h=1080&u_w=1920&u_ah=1040&u_aw=1920&u_cd=24&adx=372&ady=4713&biw=1903&bih=922&scr_x=0&scr_y=1032&eid=31062369%2C31062895&oid=3&psts=AGkb-H8BAge3x6_BYiNo0GklH192rlYvixS53A_XElewDAQTNHJ3r5DDOnWBS3tXD20TOwxjzaqV9gOdKsLNMQ%2CAGkb-H84VO68mtyjZnjNSTLBgkIOqZ9xCHuK9AEW7Gkh0SDVw8bC3_DyX10ZSzHa4m2gQacZrX2MjxqvLjuwYQ&pvsid=2418613033806450&pem=829&ref=https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3DagZEkr5AKPxcgDE2ErsZTPX0PA4cclsrjn-kNtYeDGaZvAvhbZvPgOhB4Aae-bjhcdp9xEbDRxsls40d9tUgeK%26wd%3D%26eqid%3Dcc1e2a4c0000d60400000003614be808&eae=0&fc=1408&brdim=0%2C96%2C0%2C96%2C1920%2C0%2C1920%2C922%2C1920%2C922&vis=1&rsz=%7C%7Cs%7C&abl=NS&fu=128&bc=23&ifi=6&uci=a!6&btvi=1&fsb=1&xpc=3CGPjiEojo&p=http%3A//www.voidcn.com&dtd=8610" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="852" height="0" data-google-container-id="a!6" data-load-complete="true" data-google-query-id="CO7YmKWIlPMCFU4QrQYdSpUI7A"></iframe>

 

由于是比较早的Java开源报表,可以算是Java开源报表工具的鼻祖了,在Java的业界影响比较大,应用也比较多,也有国内的公司在此基础上封装,用作自己的内部报表解决解决方案,例如:清华同方等等很多,在此不一一列举!

 

12、zkoss

这是一个封装的ajax框架,其组件支持拖拽。或者java中的canvas也可以实现。

 

http://www.zkoss.org/zkdemo/userguide/;jsessionid=3494DA92AA2FD0327F78DF37054227F6.zkdemo

 

13、EMSFLOW VisualWeb 自定义表单

EMSFLOW VisualWeb 是一个组件化/构件化(Component)J2EE应用快速开发平台,是功能强大的Java/J2EE在线自定义表单工具,包括自定义表单维护、自定义查询、自定义DataGrid等,提供了丰富的页面组件和业务组件,并可在线进行完全可视化JSP页面设计,实现真正的所见即所得(WYSIWYG),可以直接在线定义与运行,也可以生成代码,同时带有增/删/改/查和多表查询与统计与分析的设计模板,做一个多表查询几分钟便可以完全(输入一条SQL语句即可),同时,EMSFLOW3.0提供一套对AJAX(Web2.0)支持的接口,可以轻松完全AJAX应用

 

http://www.emsflow.com/sample/form-wizard.htm

 

14、方成的eform自定义表单平台

eform自定义表单平台是一个在IE浏览器中可视化的设计软件界面的工具。无论是输入界面还是报表界面,无论是简单的输入查询还是复杂的逻辑处理。都可以由eform设计出来。

    eform自定义表单平台适用于网上OA系统的自定义表单模块,工作流系统的自定义表单模块,信息管理系统方面的软件开发项目等等。

 

大家有更好的开源平台,求推荐,最好是JAVA的!

参考项目:http://ctfysj.blog.hexun.com/77654121_d.html

Ext表单设计器实例源码: 
1、ExtJs表单设计器源码
2、ExtJs OA流程源码
3、项目数据库(extjs.sql,Mysql的)

整个项目太大,这里就只上传表单设计器的源码,下载地址:

华为网盘: http://dl.vmall.com/c0h8vlk9hw

永硕网盘: http://southpearl.ys168.com/

Filejungle: http://www.filejungle.com/f/WKw3pJ/formdesigner.rar

好的代码像粥一样,都是用时间熬出来的

更多文章请关注《万象专栏》