FoxOne---一个快速高效的BS框架--生成增删改查
FoxOne---一个快速高效的BS框架--WEB控件属性编辑器
FoxOne---一个快速高效的BS框架--数据访问(Dao)
在这一节我将演示如何根据数据表自动生成一个增删改查的模块,在此我用的是MYSQL数据库,表结构如下:

这是一张用于存储员工请假数据的表结构,我在建表时把各字段的注释也写好了,因为是演示,所以字段类型和长度的就随意了……
首先运行FOXONE,打开“应用设计”--》“数据库表”页面,在这个页面中可以直接看到wf_form_leaveapproval的表结构,如下:

从截图中可以看到FOXONE已经自动识别了各字段的类型,长度,以及注释,我们要做的就是改一下“页面标题”然后点击“生成”:

然后,一个简单的增删改查就做好了,我们打开“应用设计”可以看到刚生成的列表页和表单页:

对应的增删改查的SQL语句则在“增删改查列表”中:

回到“应用设计”的“页面设计”,选中左边树控件的“请假申请信息编辑”,点击右边的“Design",我们来优化一下编辑页:

表单中有几个需求需要修改的:
1.Id不用填写,直接生成;
2.请假人和所属部门应该是默认当前登陆用户的信息,并且可以点选,不应该填写;
3.请假理由用多行文本框;
4.请假天数必填且输入的值必须为integer;
5.请假类型改为下拉框选择,并且以后可以自由增删请假类型;
下面我们一一来实现:
首先点击左下角红色的“编辑”链接,进入,选中“表单字段”,选中“ID”然后点击“批量删除",第一个需求就实现了

点击“CreatorId"的编辑链接,进入字段的控件编辑,选择控件为”KV文本框“,填写红色框如下:(UserSelector_Copy)是我提前已经做好的一个页面,如何定制选择器页面会在下一节详述。

Value中填写的”$User.Id$"为环境变量表达式,表示默认值为当前用户的意思,当前用户所属部门的表达式为:$User.DepartmentId$
点击保存后回来看看页面长什么样了:

可以看到此时的”请假人“已经从输入框变成的点选框,对于”所属部门“也执行同样的操作,只是选择器的名称改为”DepartmentSelector",DepartmentSelector同样是我提前做好的树型选择页。
这样需求2也就实现完了,
需求3把请假理由变为多行文本框,与上面的操作类型,只是选择的控件为“多行文本框”:

(注意重新选择了控件为Label和Rank值要重新填一下)
现在来看看页面的效果:

第3个需求也OK了,第4个:请假天数必填且输入的值必须为integer,还是先进“表单字段”选项卡,点击“LeaveDays”的“编辑”链接,填写validator的值如下:

这样第4个需求也实现了,最后一个需求,请假类型改为下拉框选择,并且以后可以自由增删请假类型,首先在“系统管理”中的“数据字典管理”中新增“请假类型”的字典

接到回到请假表单的设计页面,点开编辑进到“表单字段”选项卡,选中“Type”点编辑,选控件为“下拉框”,点“保存”,

再选择“数据源“选项卡,选择”数据字典数据源“,

这样就实现了所有需求了,现在再看看表单长成啥样了:

表单页的修改就算完成了,对于列表页的修改请参照第一篇FOXONE的文章:FoxOne---一个快速高效的BS框架--(1)
无非就是去掉多余的搜索条件,表格列应用一下转换器,删除不想显示的列,然后就长成下面这样了:

至此一个增删改查的页面也就算基本完成了。
顺便再提一点,如果在“流程应用管理”中,把刚才设计好的编辑页配置进去,则页面可以当成流程表单在流程引擎中流转(但工作流当前还没开源,完善好后再上传git):

可以看到上面的“保存”和“重置”多出来了,可以在设计页中把这两个按钮删除掉,这样在流程容器中保存就可以了。

如果有兴趣的可以加入群里来交流一下,群号:581523872
github:https://github.com/gameking0124/FoxOne
FoxOne---一个快速高效的BS框架--生成增删改查的更多相关文章
- FoxOne---一个快速高效的BS框架--数据访问(Dao)
FoxOne---一个快速高效的BS框架--(1) FoxOne---一个快速高效的BS框架--(2) FoxOne---一个快速高效的BS框架--(3) FoxOne---一个快速高效的BS框架-- ...
- FoxOne---一个快速高效的BS框架--(2)
FoxOne---一个快速高效的BS框架--(1) FoxOne---一个快速高效的BS框架--(2) FoxOne---一个快速高效的BS框架--(3) FoxOne---一个快速高效的BS框架-- ...
- FoxOne---一个快速高效的BS框架
FoxOne---一个快速高效的BS框架--(1) FoxOne---一个快速高效的BS框架--(2) FoxOne---一个快速高效的BS框架--(3) FoxOne---一个快速高效的BS框架-- ...
- FoxOne---一个快速高效的BS框架--WEB控件属性编辑器
FoxOne---一个快速高效的BS框架--(1) FoxOne---一个快速高效的BS框架--(2) FoxOne---一个快速高效的BS框架--(3) FoxOne---一个快速高效的BS框架-- ...
- FoxOne---一个快速高效的BS框架--(4)
FoxOne---一个快速高效的BS框架--(1) FoxOne---一个快速高效的BS框架--(2) FoxOne---一个快速高效的BS框架--(3) FoxOne---一个快速高效的BS框架-- ...
- Magicodes.WeiChat——ASP.NET Scaffolding生成增删改查、分页、搜索、删除确认、批量操作、批量删除等业务代码
关于T4代码生成这块,我之前写过几篇帖子,如:<Magicodes.NET框架之路——让代码再飞一会(ASP.NET Scaffolding)>(http://www.cnblogs.co ...
- tp框架的增删改查
首先,我们来看一下tp框架里面的查询方法: 查询有很多种,代码如下: <?php namespace Admin\Controller; use Think\Controller; class ...
- Yii2.0高级框架数据库增删改查的一些操作(转)
yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...
- Yii2.0高级框架数据库增删改查的一些操作
yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...
随机推荐
- The C++ Programming Language 学习笔记 第四章 类型和声明
1.关于main 函数中的 return 0 C99标准中,main 函数的返回值类型必须是 int ,这样返回值才能传递给程序的激活者(如操作系统).如果 main 函数的最后没有写 return ...
- vue.js基础知识篇(1):简介、数据绑定
目录第一章:vue.js是什么? 第二章:数据绑定第三章:指令第四章:计算属性第五章:表单控件绑定代码链接: http://pan.baidu.com/s/1qXCfzRI 密码: 5j79 第一章: ...
- JSP的getRequestDispatcher()与sendRedirect()的区别
getRequestDispatcher()与sendRedirect()的区别 1.request.getRequestDispatcher()是请求转发,前后页面共享一个request ; r ...
- 一只菜鸟的瞎J8封装系列的目录
因为这是一个系列...也就是我们所说的依赖关系.后面很多方法都是基于我前面封装的工具来进行的,所以我列一个目录供大家参考... 一只菜鸟的瞎J8封装系列 一.手把手封装数据层之DButil数据库连接 ...
- 一次由SELinux引起的ssh公钥认证失败问题
一直使用CentOS作为服务器系统,平时装完系统以后都是建立publickey认证机制,然后关闭密码认证.原本是一件轻车熟路毫无压力的事情,不想前日新装一台机器按照正常配置以后居然使用publicke ...
- java使用字节流和字符流实现文件复制
大家在Java开发中都会遇到文件复制的文件,众所周知,需要通过文件输入输出流实现. 那究竟该怎么做那,话不多说,直接上代码: 一,使用字节流复制文件 public class FileByteCopy ...
- Spring Aop 应用实例与设计浅析
0.代码概述 代码说明:第一章中的代码为了突出模块化拆分的必要性,所以db采用了真实操作.下面代码中dao层使用了打印日志模拟插入db的方法,方便所有人运行demo. 1.项目代码地址:https:/ ...
- 浅析SQL Server在可序列化隔离级别下,防止幻读的范围锁的锁定问题
本文出处:http://www.cnblogs.com/wy123/p/7501261.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错 ...
- 从源码分析java.lang.String.isEmpty()
今天在写代码的时候用到了java.lang.String.isEmpty()的这个方法,之前也用过,今天突发奇想,就看了看源码,了解了解它的实现方法,总结出来,大家可以交流交流. 通常情况下,我们使用 ...
- 区块链下的io域名到底有多神秘?
不知大家发现没有 一些科技创业公司首选域名后缀 是.IO WHY? 因为给人一种很酷的感觉啊~ 譬如,极客届享誉盛名的盘古越狱团队官网:http://pangu.io 国内优质社区,简书--创作你的创 ...