前面一节介绍了表单设计器的背景和最终的大概样式,本节主要介绍表单设计器的需求及功能设计。

在讲需求之前先明确几个常用的概念:

主表或者卡片表——具有多行多列的一个区域的控件块,如下图所示。

明细表——就是常用的表格类型的控件块,表头信息就确立了该列的数据类型,如下图所示。

卡片式的表:指的是一个表单模板只包括一个主表;

主子表:指的是一个表单模板包含一个主表、一个明细表;

多子表:指的是一个表单模板包含一个主表、多个明细表;

嵌套多子表:指的是一个表单模板嵌套了多个主子表或者多个多子表;

  

  表单设计器的总体要求:

  1. 能够支持复杂的单据样式(主表、主子表、多子表、嵌套多子表);
  2. 能够支持所见即所得的图形化表单设计方式。用户设计出来的表单模板是什么样式的,那么生成加载出来也就应该是什么样式的;
  3. 采用拖拽式的方式来拖动各种表单模板的控件,让用户体验更好、更方便;
  4. 表单常用控件的归纳及设计;
  5. 各种控件可以方便的调整显示的顺序,交换位置,交换区域等;
  6. 各种控件的所有属性能够比较方便的设置、修改。包括:控件名称、默认值、取值范围、数据源、控件之间的数据联动、控件的隐藏与否等等;
  7. 主表区域的控件列数支持动态调整;
  8. 明细表格的列头支持分组列头,以及列之间交换位置;
  9. 明细表格的常用数字、金额等数据列支持不同的汇总方式(如:求和、求平均、最大最小值、计数等);
  10. 开放表单模板的一些常用易变动的数据接口,方便某些特殊表单的特殊处理;
  11. 表单项、表单区域、表单模板的删除控制;
  12. 表单控件数据源、取数公式的归纳;

初步总结了以上12个设计需求,按照需求的总体要求做出来的表单设计器是可以满足我们的实际业务需求的。

下一节我介绍设计详细过程。

基于Extjs的web表单设计器 第一节的更多相关文章

  1. 基于Extjs的web表单设计器 第二节——表单控件设计

    这一节介绍表单设计器的常用控件的设计. 在前面两章节的附图中我已经给出了表单控件的两大分类:区域控件.常用控件.这里对每个分类以及分类所包含的控件的作用进行一一的介绍,因为它们很重要,是表单设计器的基 ...

  2. 基于Extjs的web表单设计器 第七节——取数公式设计之取数公式的使用

    基于Extjs的web表单设计器 基于Extjs的web表单设计器 第一节 基于Extjs的web表单设计器 第二节——表单控件设计 基于Extjs的web表单设计器 第三节——控件拖放 基于Extj ...

  3. 基于Extjs的web表单设计器 第六节——界面框架设计

    基于Extjs的web表单设计器 基于Extjs的web表单设计器 第一节 基于Extjs的web表单设计器 第二节——表单控件设计 基于Extjs的web表单设计器 第三节——控件拖放 基于Extj ...

  4. 基于Extjs的web表单设计器 第五节——数据库设计

    这里列出表单设计器系列的内容,6.7.8节的内容应该在春节后才有时间出了.因为这周末就请假回老家了,准备我的结婚大事.在此提前祝大家春节快乐! 基于Extjs的web表单设计器 基于Extjs的web ...

  5. 基于Extjs的web表单设计器 第三节——控件拖放

    看过之前设计器截图的朋友应该有印象,可能会发觉我们的设计器UI设计布局其实类似Visual studio 的设计界面,采用的是左.中.右三个区域布局.左侧为控件区域.中间为表单的画布设区域.右侧为属性 ...

  6. 基于Extjs的web表单设计器

    由于这样工作和自身的一些原因很长一段时间没有写过博客了.最近想把自己前面一段时间搞出的一个表单设计器的相关经验或者经历记录下来.分享给大家,也算是对自己前2个月的一个总结回顾吧. 首先介绍一下开发此版 ...

  7. 基于Extjs的web表单设计器 第四节——控件拖放

    接着上一节介绍控件拖放的设计. 通过前面的介绍知道,我们的区域类型的容器控件有三种:Card.Table.Mixed. Card 可以支持几乎所有的常用控件,包括:文本TextField.多文本Tex ...

  8. YbSoftwareFactory 代码生成插件【十六】:Web 下灵活、强大的审批流程实现(含流程控制组件、流程设计器和表单设计器)

    程序=数据结构+算法,而企业级的软件=数据+流程,流程往往千差万别,客户自身有时都搞不清楚,随时变化的情况更是家常便饭,抛开功能等不谈,需求变化很大程度上就是流程的变化,流程的变化会给开发工作造成很大 ...

  9. .net web 开发平台- 表单设计器 一(web版)

    如今为了适应需求的不断变化,动态表单设计器应运而生.它主要是为了满足界面的不断变化和提高开发速度.比如:一些页面客户可能也无法确定页面的终于布局,控件的位置,在哪种情况下显示或不显示等可能须要随时改动 ...

随机推荐

  1. zufeoj 1018 阶乘第k位是多少(sprintf)

    题目描述     n的阶乘定义为n!=1*2*3*……*n  如3!=6     n!通常最后会有很多0,如5!=120  最后有一个0,现在统计n!去除末尾的0后,最后k位是多少 输入     第一 ...

  2. CentOS–root密码忘记的解决办法

    一.重启系统,如图:GRUB: 在引导装载程序菜单上,用上下方向键选择你忘记密码的那个系统键入“e”  来进入编辑模式.   2.接下来你可以看到如下图所示的画面,然后你再用上下键选择最新的内核(这里 ...

  3. Solr Suggest组件的使用

    使用suggest的原因,最主要就是相比于search速度快,In general, we need the autosuggest feature to satisfy two main requi ...

  4. ES6系列_11之Set和WeakSet数据结构

    一.Set 1.Set是什么? Set是ES6 提供的一种新的数据结构.类似于数组. 2.Set能解决什么问题 Set和Array 的区别是Set不允许内部有重复的值,如果有只显示一个,相当于去重. ...

  5. POI 3.17

    发现与之前使用的有些不同 参考:https://www.cnblogs.com/h--d/p/6735110.html

  6. windows下使用nginx配置tomcat集群

    转自:https://blog.csdn.net/csdn15698845876/article/details/80658599

  7. BeanUtils.copyProperties不能copy复杂对象List的解决方式

    需要注意的就是把List拆分,遍历add,然后把list设置到返回对象中 package test.test; import java.util.ArrayList; import java.util ...

  8. 11-SSH综合案例:前台用户模块:激活邮件的发送

    刚才已经把服务器的环境和客户端的软件已经搭建好了,现在就要发送邮件了.现在发送邮件的代码你不用重点去掌握啊,了解一下就行了. javax.activation javax.mail是Java EE 5 ...

  9. Template7学习记录

    来源:http://idangero.us/template7/#.V2iXqJGF6Ul 测试用json数据: var jsonData = { people: [ { firstName: 'Jo ...

  10. c语言蛋疼的字符串赋值

    我觉得c语言比较蛋疼的一个地方就是给字符串赋值,不是初始化,是赋值. char string[20]={0}; 你不能通过 string="hello";这种方式赋值.但是在字符串 ...