利用代码生成工具Database2Sharp设计数据编辑界面
在Winform程序开发中,界面部分的开发工作量一般是比较大的,特别是表的字段数据比较多的情况下,数据编辑界面所需要的繁琐设计和后台逻辑处理工作量更是直线上升,而且稍不注意,可能很多处理有重复或者错误,利用代码生成工具Database2Sharp设计数据编辑界面可以极大提高开发效率,减少出错机会,结合DevExpress的布局拖动调整,更是如虎添翼,使你从繁琐的界面设计开发工作中解脱出来,缺少的只是你的灵感。
1、数据编辑界面设计步骤
一般情况下,如无其他工具的辅助下,我们需要在界面上放置好相关的界面控件,并调整控件的名称,调整控件位置布局,在后台中逐个编写控件赋值的显示代码和保存到数据库的赋值语句,特别是控件命名、显示数据,保存数据这些操作,是非常繁琐累人的,也是最容易出错的地方。
利用代码生成工具Database2Sharp,除了可以快速生成整体Winform开发框架的界面代码,让你一秒钟内就搭建一个完整标准的框架应用,最重要的,Winform界面设计这些繁杂的工作,也可以使用它进行完成,再也不用拘束于重复的劳动中了,可以静下心来找找灵感了。代码生成工具Database2Sharp的Winform界面代码生成界面如下所示。
查询类和数据编辑类,基本上是我们设计界面的两种标准界面,如下所示。
由于这个主查询界面,利用分页控件,以及动态生成的条件基本上就能满足要求了,繁琐的工作主要在数据编辑界面上,本文主要介绍数据编辑界面的设计工作在利用代码生成工具方面的改进。
一般情况下,我们利用代码生成工具生成的界面都是需要调整的,但是界面的控件名称已经根据字段进行了对应,后台的数据显示、输入验证、数据保存等需要控件和实体类一一对应的关系,也已经做好了,所做的只需要把界面调整的更加好看即可。
所以,生成的界面大致情况如下所示。
虽然生成的编辑界面,字段说明作为控件的标签,字段名称作为控件名称的部分内容,并且日期和数值控件类型也已经调整好,但是离我们真正的呈现给用户的数据编辑界面还是有一定的距离。
不要紧,下面我来演示一下如何实现界面的进一步的调整。
首先,我们知道,DevExpress的LayoutControl布局控件,对于其中的控件位置,都可以在设计模式进行动态拖动调整的,如下所示。
于是,我们可以根据合理的排版布局,对其中的界面元素拖动到合理的布局,并增加一些空白的控制位置,或者调整布局单元的约束类型为自定义,并设置控件的最大宽度或者高度,这样可以合理调整好数据编辑界面。
另外,我们可以在设计模式下,控件的右上角上,调整控件为自己希望的类型,如下所示。
通过上面的多样化调整,我们可以最终把界面拖动设计成这个效果。
2、多选项卡的数据编辑界面
按照上面这样的调整流程,对于一般情况下的数据编辑界面,我们可能基本满足了要求了,但是对于一些字段输入比较多的表格,我们最好能够通过TabControl把不同范畴的输入内容分开,一个选项卡负责一部分数据,这样可以有效利用屏幕的空间进行输入。例如,上面的数据,通过引入一个TabControl, 把病人基本信息和随访信息分开,就可以得到这样的运行界面效果。
或者更多数据的人员信息的数据编辑界面效果如下所示,通过分门别类,我们可以有效管理看似很凌乱的数据内容了。
但是,这样多选项卡的数据编辑界面,我们可能无法一下就生成符合要求的界面效果,我们可以先整体生成一个全部所需字段的数据编辑界面,就是按照上面的流程一样生成,然后重新复制一份到一个临时的窗体里面作为备份保留。
在原来的界面上,删除除第一个选项卡页面的控件内容,这时候,我们知道,后台的对应代码还保留着这些删除界面控件的数据显示、赋值保存的对应关系的代码,我们要保留它们,因为我们不是真的删除这些关联的控件。
然后在TabControl中,创建第二个TabPage选项卡页面,然后在备份保留的窗体界面上,把第一个TabPage选项卡页面中存在的控件删除,然后把剩下的其他控件,全部通过LayoutControl方式复制到第二个TabPage选项卡页面里面,这样整个控件和后台代码的关系,就又完整了,如果有更多的控件需要拆分,按照上述的方法重新操作一次即可。
例如,下面的例子源自我的客户关系管理系统模块(CRM)中的联系人管理,由于联系人信息比较多,我把它分为了两个TabPage选项卡页面进行管理,操作的思路就是用刚才介绍的方式进行调整的。
利用代码生成工具Database2Sharp设计数据编辑界面的更多相关文章
- 利用代码生成工具Database2Sharp生成ABP VNext框架项目代码
我们在做某件事情的时候,一般需要详细了解它的特点,以及内在的逻辑关系,一旦我们详细了解了整个事物后,就可以通过一些辅助手段来提高我们的做事情的效率了.本篇随笔介绍ABP VNext框架各分层项目的规则 ...
- 调整代码生成工具Database2Sharp的Winform界面生成,使其易于列表工具栏的使用。
在Winform界面开发的时候,有时候我们客户喜欢把功能放在列表界面的顶部,这样界面和功能整齐放置,也是一种比较美观的方式,基于这种方式的考虑,改造了代码生成工具的Winform界面生成规则,把增删改 ...
- Web API应用架构在Winform混合框架中的应用(4)--利用代码生成工具快速开发整套应用
前面几篇介绍了Web API的基础信息,以及如何基于混合框架的方式在WInform界面里面整合了Web API的接入方式,虽然我们看似调用过程比较复杂,但是基于整个框架的支持和考虑,我们提供了代码生成 ...
- 在代码生成工具Database2Sharp中增加Vue&Element 工作流页面的快速生成
在我们基于框架开发系统的时候,往往对一些应用场景的页面对进行了归纳总结,因此对大多数情况下的页面呈现逻辑都做了清晰的分析,因此在我们基于框架的基础上,增量式开发业务功能的时候,能够事半功倍.代码生成工 ...
- 代码生成工具Database2Sharp中增加视图的代码生成以及主从表界面生成功能
在代码生成工具的各种功能规划中,我们一向以客户的需求作为驱动,因此也会根据需要增加一些特殊的功能或者处理.在实际的开发中,虽然我们一般以具体的表进行具体业务开发,但是有些客户提出有时候视图开发也是很常 ...
- 基于SqlSugar的开发框架循序渐进介绍(3)-- 实现代码生成工具Database2Sharp的整合开发
我喜欢在一个项目开发模式成熟的时候,使用代码生成工具Database2Sharp来配套相关的代码生成,对于我介绍的基于SqlSugar的开发框架,从整体架构确定下来后,我就着手为它们量身定做相关的代码 ...
- 基于Metronic的Bootstrap开发框架经验总结(18)-- 在代码生成工具Database2Sharp中集成对Bootstrap-table插件的分页及排序支持
在我们开发系统界面,包括Web和Winform的都一样,主要的界面就是列表展示主界面,编辑查看界面,以及一些辅助性的如导入界面,选择界面等,其中列表展示主界面是综合性的数据展示界面,一般往往需要对记录 ...
- 利用代码生成工具生成基于ABP框架的代码
在前面随笔,我介绍了整个ABP优化过框架的分层模型,包括尽量简化整个ABP框架的各个层的关系,以及纳入一些基类的辅助处理,使得我们对应业务分层类或者接口尽可能减少代码,并具有生产环境所需要的基类接口, ...
- 使用代码生成工具Database2Sharp快速生成工作流模块控制器和视图代码
在前面随笔<基于Metronic的Bootstrap开发框架--工作流模块功能介绍>和<基于Metronic的Bootstrap开发框架--工作流模块功能介绍(2)>中介绍了B ...
随机推荐
- Chapter 5. Graph Theory:: Fundamentals:: Intermediate
10457 - Magic Car 题意一开始看起来有点费解,其实最后就是要起点到终点的路径上最大边与最小边之差越小越好.这样我们可以先将边排个序,然后枚举路径上的最小边,之后依次将比它大的边按升序的 ...
- 理解TCP为什么需要进行三次握手(白话)
原文地址:http://www.cnblogs.com/yuilin/archive/2012/11/05/2755298.html 首先简单介绍一下TCP三次握手 在TCP/IP协议中,TCP协议提 ...
- X下轻量级桌面WindowMaker上手指南
layout: post title: 轻量级桌面WindowMaker上手指南 tags: x11, cygwin, raspi --- 最近工作上需要在远程Linux上运行一个桌面(我需要跑Net ...
- JAVA SE 803 考试前突击
考试的宗旨仍然是掌握基础知识,不过鉴于Oracle的这个认证考试还有不少的大家来找茬的成份在,所以一定一定要细心为上. 关于抽象类的坑点集合: 抽象类不是必须得有抽象方法,但有抽象方法的类必须是抽 ...
- VC 2010的重大变化
auto 关键字具有新的默认含义.由于使用旧含义的情况很少见,因此大多数应用程序都不会受此更改影响. 引入了新的 static_assert 关键字,如果代码中已经存在具有某个名称的标识符,则此关键字 ...
- FFRPC应用之Client/Server
摘要: Ffrpc 进行了重构,精简了代码,代码更加清晰简洁,几乎完美的达到了我的预想.接下来将写几遍文章来介绍ffrpc可以做什么.简单总结ffrpc的特性是: Ffrpc是c++ 网络通信库 全异 ...
- javascript 设计模式之观察者模式
观察者模式又叫发布——订阅模式,顾名思义pub——sub就是被动触发的,:不要给我......,我会给你.......就是一个发布订阅的解释,实质就是对程序中的某个对象状态进行监听观察,并且在该对象发 ...
- yii2 [行为] behaviors 拦截器
yii2 拦截器 在控制器中可以自定义对action的拦截器,拦截器需要继承 \yii\base\ActionFilter 参考代码: class BaseUserAuthorizeFilter ex ...
- JS中的constructor与prototype
http://www.cnblogs.com/qiantuwuliang/archive/2011/01/08/1930548.html 在学习JS的面向对象过程中,一直对constructor与pr ...
- 如何生成ipa文件
xcode--Product--Archive 弹出Organizer-Archives选择Distribute---Save for EnterPrise or Ad_Hoc Deployment- ...