代码生成工具Database2Sharp中增加视图的代码生成以及主从表界面生成功能
在代码生成工具的各种功能规划中,我们一向以客户的需求作为驱动,因此也会根据需要增加一些特殊的功能或者处理。在实际的开发中,虽然我们一般以具体的表进行具体业务开发,但是有些客户提出有时候视图开发也是很常见的,为了提高代码生成和界面生成的效率,基于视图开发的过程也应该支持。还有主从表的界面生成操作,在很多实际的业务领域也是很常见的。基于上面的需求,本次代码生成工具Database2Sharp中增加视图的代码生成以及主从表界面生成功能,为客户的高效率开发快马加鞭、保驾护航。
1、基于视图的代码生成和界面生成操作
为了支持视图的相关代码生成,我们把代码生成工具底层的元数据进行了优化整合,是指在代码生成方面,具体的表和视图不再有具体的差异,基本上都是可以统一对待,实现快速的框架代码生成、Winform界面生成、Web界面生成操作的,所有的表的相关属性,视图也具有,因此在代码模板方便,不需要进行调整,兼容了代码模板的属性处理,提高了已有代码模板的安全性。
如上所示,为了区分表和视图的位置,我们把视图统一放在了表的后面,方便选择处理,在选择的时候,表和视图都是一视同仁,所以代码生成的处理适用于表的,也是适用于视图的,可以统一一并生成,极大的提高了代码生成的效率。
当然,视图的增删改操作,和表毕竟不一样,一般视图只是为了查询数据进行展示的,所以在实际开发的时候,可以适当屏蔽视图的增删改操作,或者自定义相关的接口进行处理。
在Winform界面的生成的时候,我们也一样整合了视图的列表,可以基于视图进行界面代码的生成。
不过我们注意到,一般表我们使用备注信息作为Winform界面的字段说明信息的,如果是视图,那么是无法获取到它的视图字段备注信息的,因为视图的字段备注是不存在的,为了实现和表一样具有中文备注的界面,我们增加了一个对视图字段进行备注信息维护的界面,有着字段的备注,我们生成Winform界面的时候,对应字段的标签就有中文信息了。
通过Enterprise Library架构生成的相关代码,也同时具有相关的备注信息,如下代码所示。
通过代码生成工具里面的Winform界面代码生成,当然也会具有相关的备注信息,可以在界面上显示对应的中文标签信息了。
视图的Winform界面代码生成和普通的表生成的Winform界面操作过程一样,具体界面操作如下所示。
这样生成的Winform界面操作和普通表的处理方式一致,而且对应的视图字段也有了备注信息,因此在界面上的标签说明也就和表一样,可以显示备注信息了。
2、主从表的界面生成操作
在有些情况下,有些业务表是具有主从关系的,如一个是汇总信息,一个是明细信息,如仓库的入库、出库操作,会员的消费操作,都是典型的主从表应用场景,可以把它们作为一个界面生成的案例进行处理。
标准的主从表界面如下界面所示。
或者会员消费信息的横向界面展示如下所示。
在我之前的代码生成界面里面,主要是生成标准的分页列表展示,以及编辑明细两个标准界面,为了更加丰富开发工具的界面生成,根据上面两种界面的综合情况,增加一个主从表的界面生成操作,这样可以更加适应实际的业务开发工作,高效进行界面的快速生成。
如在代码生成工具里面,设置主从表的界面生成如下所示。
生成Winform界面代码后,在VS编辑器里面,可以看到如下所示界面。
最后在实际程序上运行生成的界面,就可以看到预览的界面效果了,界面效果如下所示。
为了方便,上面界面增加了一个复选框,用来切换横向或者纵向展示明细列表的,勾选后进行横向显示,如下所示。
上面主从表的展示,还包括了明细表信息的汇总功能,这样基本上满足了主从表的信息展示了,如果需要,还可以在这基础上进行更方便的改进了。
代码生成工具Database2Sharp中增加视图的代码生成以及主从表界面生成功能的更多相关文章
- 在代码生成工具Database2Sharp中增加Vue&Element 工作流页面的快速生成
在我们基于框架开发系统的时候,往往对一些应用场景的页面对进行了归纳总结,因此对大多数情况下的页面呈现逻辑都做了清晰的分析,因此在我们基于框架的基础上,增量式开发业务功能的时候,能够事半功倍.代码生成工 ...
- 基于Metronic的Bootstrap开发框架经验总结(18)-- 在代码生成工具Database2Sharp中集成对Bootstrap-table插件的分页及排序支持
在我们开发系统界面,包括Web和Winform的都一样,主要的界面就是列表展示主界面,编辑查看界面,以及一些辅助性的如导入界面,选择界面等,其中列表展示主界面是综合性的数据展示界面,一般往往需要对记录 ...
- 在代码生成工具Database2Sharp中使用ODP.NET(Oracle.ManagedDataAccess.dll)访问Oracle数据库,实现免安装Oracle客户端,兼容32位64位Oracle驱动
由于我们开发的辅助工具Database2Sharp需要支持多种数据库,虽然我们一般使用SQLServer来开发应用较多,但是Oracle等其他数据库也是常用的数据库之一,因此也是支持使用Oracle等 ...
- 基于SqlSugar的开发框架循序渐进介绍(3)-- 实现代码生成工具Database2Sharp的整合开发
我喜欢在一个项目开发模式成熟的时候,使用代码生成工具Database2Sharp来配套相关的代码生成,对于我介绍的基于SqlSugar的开发框架,从整体架构确定下来后,我就着手为它们量身定做相关的代码 ...
- C#反射实现 C# 反射 判断类的延伸类型 使用代码生成工具Database2Sharp快速生成工作流模块控制器和视图代码 C# ADO.NET的SqlDataReader对象,判断是否包含指定字段 页面中添加锚点的几种方式 .net 简单实用Log4net(多个日志配置文件) C# 常用小点
C#反射实现 一.反射概念: 1.概念: 反射,通俗的讲就是我们在只知道一个对象的内部而不了解内部结构的情况下,通过反射这个技术可以使我们明确这个对象的内部实现. 在.NET中,反射是重要的机制, ...
- 使用代码生成工具Database2Sharp快速生成工作流模块控制器和视图代码
在前面随笔<基于Metronic的Bootstrap开发框架--工作流模块功能介绍>和<基于Metronic的Bootstrap开发框架--工作流模块功能介绍(2)>中介绍了B ...
- 利用代码生成工具Database2Sharp设计数据编辑界面
在Winform程序开发中,界面部分的开发工作量一般是比较大的,特别是表的字段数据比较多的情况下,数据编辑界面所需要的繁琐设计和后台逻辑处理工作量更是直线上升,而且稍不注意,可能很多处理有重复或者错误 ...
- 代码生成工具Database2Sharp的架构介绍
1)代码生成工具介绍 Database2Sharp是一款代码生成工具和数据库文档生成工具,该工具从2005年开始至今,一直伴随着我们的客户和粉丝们经历着过各种各样的项目开发,在实际开发中能带来效率的提 ...
- 利用代码生成工具Database2Sharp生成ABP VNext框架项目代码
我们在做某件事情的时候,一般需要详细了解它的特点,以及内在的逻辑关系,一旦我们详细了解了整个事物后,就可以通过一些辅助手段来提高我们的做事情的效率了.本篇随笔介绍ABP VNext框架各分层项目的规则 ...
随机推荐
- 003. Asp.Net Routing与MVC 之一: 请求如何到达MVC
基础知识 本文用到的基础知识:URL.HttpModule 与 HttpHandler.IIS 的请求处理过程. URL HttpModule与HttpHandler IIS7.0的请求处理过程 OK ...
- 团队项目——站立会议DAY10
第十次站立会议记录: 参会人员:张靖颜,钟灵毓秀,何玥,赵莹,王梓萱 项目进展: 1.张靖颜:进一步完善程序代码,提出扩展性的建议,增加程序的功能. 2.钟灵毓秀:修改已完成代码出现的bug,完善代码 ...
- JavaScript工具库之Lodash
你还在为JavaScript中的数据转换.匹配.查找等烦恼吗?一堆看似简单的foreach,却冗长无趣,可仍还在不停的repeat it!也许你已经用上了Underscore.js,不错,你已经进步很 ...
- DOM+CSS3实现小游戏SwingCopters
前些日子看到了一则新闻,flappybird原作者将携新游戏SwingCopters来袭,准备再靠这款姊妹篇游戏引爆大众眼球.就是下面这个小游戏: 前者的传奇故事大家都有耳闻,至于这第二个游戏能否更加 ...
- 区分各浏览器的CSS hack(包括360、搜狗、opera)
虽然说使用css hack来解决页面兼容性bug并不是个好办法,但是有时候这些hack还是用的着的,比如你接受了一个二手或是三手的遗留界面,杂乱无章的css代码,只在某个浏览器下有兼容bug,而且需要 ...
- webservice 之 WSDL的解析
先看一个wsdl, <?xml version="1.0" encoding="UTF-8" standalone="no"?> ...
- 我心中的核心组件(可插拔的AOP)~消息组件~完善篇
回到目录 为什么要有本篇文章 本篇文章主要实现了RTX消息生产者,并且完成了整体的设计方式,之前在设计时消息生产者全局使用单一的生产方式,即一个项目里使用了Email就不能使用SMS,这种设计方法和实 ...
- bower使用记录
每次做项目的时候都不依赖某一个库来开发,每次需要某一个库的时候都是百度进入库官网再找到下载的库,经常会因为官网的改版更新而在里面绕半天找不到想要的版本号,当然直接去github,CDN 都可以找到需要 ...
- display的理解
display可把框内显示的内容改变(自我理解) none 此元素不会被显示. block 此元素将显示为块级元素,此元素前后会带有换行符. inline 默认.此元素会被显示为内联元素,元素前后没有 ...
- Object.create
var emptyObject = Object.create(null); var emptyObject = Object.create(null); var emptyObject = {}; ...