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

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

基于Extjs的web表单设计器

基于Extjs的web表单设计器 第一节

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

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

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

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

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

基于Extjs的web表单设计器 第七节——取数公式设计

基于Extjs的web表单设计器 第八节——表单引擎设计

在第三节——控件拖放中有位名叫enjoyeclipse的博友问到了后台数据库是怎样设计的,数据库字段如何和界面控件绑定的问题。那么在这一节中我会介绍表单设计器的后台数据库设计以及表单控件和数据库关系。

表单设计器设计的模板在数据库中的使用三个表存储,分别是FormTemplate(表模板表)、FormItemGroup(表单项分组表)、FormTemplateItem(表单模板项——也就是我们设计器中的一个控件)。首先上一幅图给出表单模板、表单项分组、表单项的关系图。

从图中我们可以看出一个FormTemplate可以包含N个FormItemGroup,一个FormItemGroup可以包含N个FormTemplateItem,它们依次是1:N的关系。


FormTemplate表(存放了表单模板的一些基本信息)


字段名称


类型


可空(Y/N)


描述


ID


Varchar(36)


N


Primarykey


Name


Varchar(50)


N


表单模板名称


Code


Varchar(50)


N


表单模板编码


CreateDT


DateTime


N


模板创建时间


CreateUserID


Varchar(50)


N


创建人Id


CreateUserDeptID


Varchar(50)


N


创建人所在部门Id


Status


Int


N


模板的状态


Version


Varchar(50)


N


模板版本号


Url


Varchar(100)


Y


模板的路径(外部挂接表单路径)


JsFunc


Text


Y


模板自定义方法


Description


Varchar(200)


Y


模板描述


FormItemGroup表(存放了表单模板项分组的一些基本信息,也就是我们的区域控件存储表)


字段名称


类型


可空(Y/N)


描述


ID


Varchar(36)


N


Primarykey


GroupName


Varchar(50)


N


分组名称


FormTemplateID


Varchar(36)


N


表单模板ID


GroupCols


Int


Y


区域列数,主要针对卡片区域控件


GroupOrder


Int


N


分组的排序


GroupType


Varchar(20)


N


分组的类型


IsShowBorder


bit


N


是否显示分组边框


IsShowGroupName


Varchar(50)


N


是否显示分组名称


ParentGroupID


Varchar(100)


Y


父级分组ID


FormTemplateItem表(存放了表单模板项的一些基本信息)


字段名称


类型


可空(Y/N)


描述


ID


Varchar(36)


N


Primarykey


Name


Varchar(50)


N


表单模板项名称


FormTemplateID


Varchar(36)


N


表单模板ID


FormItemGroupID


Varchar(36)


N


表单模板分组ID


ResourceTypeId


Varchar(36)


Y


资源Id


Align


Varchar(36)


N


对其方式


ColSpan


Int


Y


占用列数(针对卡片区域的控件)


Type


Varchar(36)


N


控件类型


SumType


Varchar(36)


Y


汇总类型


DefaultValue


Varchar(100)


Y


默认值


ValueRange


Varchar(500)


Y


取值范围


Formula


Varchar(500)


Y


公式


ParentColumn


Varchar(36)


Y


父级列Id(针对Table区域里面的分组列)


IsFill


bit


N


是否必填


IsHide


bit


N


是否隐藏


IsReadOnly


bit


N


是否只读


Width


Int


Y


宽度(针对Table区域列)


ListOrder


Int


N


排序


Maxlenth


Int


Y


最大长度


Scale


Int


Y


小数位数(针对金额、数字控件)

以上这三张表就组成了我们的表单模板的存储结构。至于表单实例生成的业务数据如何存储这里就不详细介绍,因为这里涉及到具体业务范畴。比如简单的业务,你可以直接存储到一张表就可以;复杂的业务,有上下游关系的业务可能就需要设计比较复杂的存储结构关系和我们的表单模板的三张数据表进行对接使用来完成具体的业务数据归集。

时间: 2024-10-12 16:31:28

基于Extjs的web表单设计器 第五节——数据库设计的相关文章

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

基于Extjs的web表单设计器 基于Extjs的web表单设计器 第一节 基于Extjs的web表单设计器 第二节——表单控件设计 基于Extjs的web表单设计器 第三节——控件拖放 基于Extjs的web表单设计器 第四节——控件拖放 基于Extjs的web表单设计器 第五节——数据库设计 基于Extjs的web表单设计器 第六节——界面框架设计 基于Extjs的web表单设计器 第七节——取数公式设计之取数公式定义 基于Extjs的web表单设计器 第七节——取数公式设计之取数公式的使用

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

基于Extjs的web表单设计器 基于Extjs的web表单设计器 第一节 基于Extjs的web表单设计器 第二节——表单控件设计 基于Extjs的web表单设计器 第三节——控件拖放 基于Extjs的web表单设计器 第四节——控件拖放 基于Extjs的web表单设计器 第五节——数据库设计 基于Extjs的web表单设计器 第六节——界面框架设计 基于Extjs的web表单设计器 第七节——取数公式设计 基于Extjs的web表单设计器 第八节——表单引擎设计 这一节我给大家介绍一下表单设

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

接着上一节介绍控件拖放的设计. 通过前面的介绍知道,我们的区域类型的容器控件有三种:Card.Table.Mixed. Card 可以支持几乎所有的常用控件,包括:文本TextField.多文本TextArea.数字NumberField.金额NumberField.日期DateField.下拉树NetDropDown.按钮Button.复选框CheckBox.单选框Radio:Table可以支持的常用控件比Card稍微少一点,它不支持button类型的控件以及多文本TextArea控件:Mix

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

看过之前设计器截图的朋友应该有印象,可能会发觉我们的设计器UI设计布局其实类似Visual studio 的设计界面,采用的是左.中.右三个区域布局.左侧为控件区域.中间为表单的画布设区域.右侧为属性区域.这样的UI设计肯定就得支持控件的拖拽设计,用户只要拖放一个控件到我们的画布上,那么画布就应该立即能够看到我们拖放的控件在画布中的位置.大小.以及一些控件自带的默认信息.不用说这样的设计对于用户来说不论在操作体验上还是设计的感官上都更加直接和方便,因为我在设计阶段就可以知道我设计后的表单在系统运

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

这一节介绍表单设计器的常用控件的设计. 在前面两章节的附图中我已经给出了表单控件的两大分类:区域控件.常用控件.这里对每个分类以及分类所包含的控件的作用进行一一的介绍,因为它们很重要,是表单设计器的基本元素,更是核心组成部门. 一.区域控件,它主要包含三个类型的控件:卡片区域.表格区域.混合区域.这三个控件是我们的其他控件的容器或者叫包装器,相当于VS里面的各种Panel.它们很重要,每种区域控件的作用都不一样,能够包含的控件类型也不大一样,它们三个区域相互配合使用,可以为我们的表单提供强大的支

基于Extjs的web表单设计器

由于这样工作和自身的一些原因很长一段时间没有写过博客了.最近想把自己前面一段时间搞出的一个表单设计器的相关经验或者经历记录下来.分享给大家,也算是对自己前2个月的一个总结回顾吧. 首先介绍一下开发此版本的表单设计器的原因及背景.该项目是公司为中国某大型国有企业开发网上经费报销系统,主要是处理改集团及其二级单位,三级单位等子分公司的各种日常经费报销,预算控制及其他常用业务审批(比如:备用金借支.出差申请及差旅费报销.合同管理.资产调拨等).系统主要由两个最重要的部分组成一个WF流程设计及流程引擎—

基于Extjs的web表单设计器 第一节

前面一节介绍了表单设计器的背景和最终的大概样式,本节主要介绍表单设计器的需求及功能设计. 在讲需求之前先明确几个常用的概念: 主表或者卡片表——具有多行多列的一个区域的控件块,如下图所示. 明细表——就是常用的表格类型的控件块,表头信息就确立了该列的数据类型,如下图所示. 卡片式的表:指的是一个表单模板只包括一个主表: 主子表:指的是一个表单模板包含一个主表.一个明细表: 多子表:指的是一个表单模板包含一个主表.多个明细表: 嵌套多子表:指的是一个表单模板嵌套了多个主子表或者多个多子表: 表单设

基于vue开发的一款强大的表单设计器,支持element和antd-vue表单快速开发。

基于 vue 和 element-ui 实现的表单设计器,使用了最新的前端技术栈,内置了 i18n 国际化解决方案,支持生成element 和 antd-vue 表单,让表单开发简单而高效. 在线预览 使用文档 特性 可视化配置页面 提供栅格布局,并采用flex实现对齐 一键预览配置的效果 一键生成配置json数据 一键生成代码,立即可运行 提供自定义组件满足用户自定义需求 提供远端数据接口,方便用户需要异步获取数据加载 提供功能强大的高级组件 支持表单验证 快速获取表单数据 国际化支持 组件

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

如今为了适应需求的不断变化,动态表单设计器应运而生.它主要是为了满足界面的不断变化和提高开发速度.比如:一些页面客户可能也无法确定页面的终于布局,控件的位置,在哪种情况下显示或不显示等可能须要随时改动.为了应对这些需求而不去多次改动源码进行公布,就能够在项目中使用动态表单设计器.如今分享一下我做的动态表单设计器的设计思路,共同学习. 想做一个表单设计器,首先要确定是做c/s的还是b/s.我考虑到以后的发展方向是c/s向b/s转化,所以就选择了b/s的方向,并且做b/s比做c/s要简单非常多.在做