首页 > 数据库技术 > 详细

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

时间:2015-02-05 09:19:58      阅读:330      评论:0      收藏:0      [点我收藏+]

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

基于Extjsweb表单设计器

基于Extjsweb表单设计器 第一节

基于Extjsweb表单设计器 第二节——表单控件设计 

基于Extjsweb表单设计器 第三节——控件拖放 

基于Extjsweb表单设计器 第四节——控件拖放 

基于Extjsweb表单设计器 第五节——数据库设计

基于Extjsweb表单设计器 第六节——界面框架设计

基于Extjsweb表单设计器 第七节——取数公式设计

基于Extjsweb表单设计器 第八节——表单引擎设计 

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

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

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

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

最大长度

Scale

Int

Y

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

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

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

原文:http://www.cnblogs.com/rpoplar/p/4264865.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!