RDIFramework.NET V2.8版本 ━ 开发实例之产品管理(WinForm)
现在,我们使用.NET快速开发整合框架(RDIFramework.NET)来开发一个应用,此应用皆在说明如何使用框架简单快速的进行开发,整合。在这里我们要开发一个产品管理的功能模块,在开发前,我们需要进行数据库的设计,在这儿为了简单说明,我们只涉及到了一张产品表。CASE_PRODUCTINFO(产品信息表)
序号 |
列 名 |
数据 类型 |
长 度 |
小数 位 |
标 识 |
主 键 |
允许 空 |
默认值 |
说 明 |
1 |
ID |
int |
4 |
0 |
是 |
是 |
否 |
主键 |
|
2 |
PRODUCTCODE |
nvarchar |
50 |
0 |
否 |
newid |
产品编码 |
||
3 |
PRODUCTNAME |
nvarchar |
200 |
0 |
否 |
产品名称 |
|||
4 |
PRODUCTMODEL |
nvarchar |
50 |
0 |
是 |
产品型号 |
|||
5 |
PRODUCTSTANDARD |
nvarchar |
50 |
0 |
是 |
产品规格 |
|||
6 |
PRODUCTCATEGORY |
nvarchar |
50 |
0 |
是 |
产品类别 |
|||
7 |
PRODUCTUNIT |
nvarchar |
20 |
0 |
是 |
产品单位 |
|||
8 |
PRODUCTDESCRIPTION |
nvarchar |
1000 |
0 |
是 |
产品描述、备注 |
|||
9 |
MIDDLERATE |
decimal |
9 |
4 |
是 |
产品基准价 |
|||
10 |
REFERENCECOEFFICIENT |
decimal |
9 |
4 |
是 |
产品基准系数 |
|||
11 |
PRODUCTPRICE |
decimal |
9 |
4 |
是 |
产品单价 |
|||
12 |
WHOLESALEPRICE |
decimal |
9 |
4 |
是 |
产品批发价 |
|||
13 |
PROMOTIONPRICE |
decimal |
9 |
4 |
是 |
产品促销价 |
|||
14 |
INTERNALPRICE |
decimal |
9 |
4 |
是 |
产品内部价 |
|||
15 |
SPECIALPRICE |
decimal |
9 |
4 |
是 |
产品特别价 |
|||
16 |
ENABLED |
int |
4 |
0 |
否 |
0 |
作废标志 |
||
17 |
DESCRIPTION |
nvarchar |
2000 |
0 |
是 |
产品功能描述 |
|||
18 |
DELETEMARK |
int |
4 |
0 |
否 |
0 |
删除标志 |
||
19 |
CREATEON |
datetime |
8 |
3 |
否 |
getdate |
创建日期 |
||
20 |
CREATEUSERID |
nvarchar |
50 |
0 |
是 |
创建用户主键 |
|||
21 |
CREATEBY |
nvarchar |
50 |
0 |
是 |
创建用户 |
|||
22 |
MODIFIEDON |
datetime |
8 |
3 |
是 |
修改日期 |
|||
23 |
MODIFYUSERID |
nvarchar |
50 |
0 |
是 |
修改用户主键 |
|||
24 |
MODIFIEDBY |
nvarchar |
50 |
0 |
是 |
修改用户 |
第2章 开发前规划
2.1 数据库连接定义
数据库连接管理使得我们可以在一个框架下管理多个不同数据库类型的数据库连接,以方便我们开发使用,即使后期服务器IP等改变了,也只需在这儿进行简单修改,不用改变原有的程序。
打开.NET快速开发整合框架,在功能列表中选择“数据库连接管理”,打开“DB连接管理”主界面,如图2.1.1所示。
图2.1.1 数据库连接管理
在这儿,我们需要根据“产品管理”所在的数据库定义一个数据库连接,当然,在这儿如果已经存在了相应的数据库连接定义,则不要重复定义,以免产生歧义。假设我的“产品管理”相关数据表放在“RDIFrameworkV2.8”数据库中,单击“添加”,打开“新增数据库连接”窗口,如图2.1.2所示。
图2.1.2 新增数据库连接
在“新增数据库连接”窗口,“连接名称”不能与已经存在的连接名重复,连接类型为是数据库的类型,在这儿,我们是SqlServer,服务器地址则为数据库服务器地址,用户名与密码为登录数据库服务器的合法用户。这些定义好后单击“保存”即完成了数据库连接的定义。这儿的连接名称“ProductDBLink”非常重要,在基于框架开发的过程中,就是通过这个名称来访问产品实例库的。
2.2 模块规划
模块规划即我们要开发的软件都包含那些模块,通俗的讲就是其拥有那些菜单项。我们在项目开始前都会做一个规划,当然后期也可以更改。在这儿我们为了方便说明,我们的产品管理只包含一个模块,即:“产品管理”模块。在框架左侧的功能列表中选择“模块管理”,打开“模块管理”主界面,如图2.2.1所示。
图2.2.1 模块管理
在模块管理主界面,我们需要进行合理的规划,如由于我们的“产品管理”属于一个实例程序,我就在左侧树中选择“.NET快速开发整合框架”>“案例模块”下新增一个“产品管理”的模块。单击“添加”,打开“新增模块”窗口,如图2.2.2所示。
图2.2.2 新增模块
在“新增模块”窗口中,一定要注意看“父模块”是否是我们选择的模块,在这儿是“案例模块”,“名称”即在框架左侧功能列表显示的名称,“编号”不能重复,建议就是窗体的名称,“窗体名”就是产品管理主界面这个窗体的命名(命名空间+窗体的名称),“程序集名称”即窗体所在的dll文件。“有效”标志说明我们新增的模块是否有效。“公开”标志说明此模块是否为公共(公开)模块,若为“公开模块”则所有登录框架的用户,不管其是否有此模块的访问权限,此模块对其都可见。同时我们也可以为其指定一个图标。单击“保存”即完成了一个模块的增加。
对于WebForm的配置,可通过“Web地址”、“目标地址”、“图标”三项来进行配置。
2.3 操作权限规划
由于是实例程序,简单起见,假设我们的产品管理只有一些常见的操作功能(如:新增、编辑、删除、作废,查询等功能)。在框架左侧的功能列表中选择“操作权限管理”,打开“操作权限管理”主界面,如图2.3.1所示。
图2.3.1 操作权限管理主界面
在上图中,我们已经完成了“产品管理”各操作权限的规划,对于后期有增删的操作权限,都可以进行灵活的操作。
第3章 开始开发
第一步:新建一个Windows窗体应用程序,如图3.1所示。
图3.1
单击确定,即可完成创建。在上图中要注意选择.NET Framwork为4.0版本及以上的版本,因为我们的框架是基于.NET Framework4.0开发的。
创建成功后,同时还要修改项目的属性,设置输出类型为“类库”,如图3.2所示。
图3.2 修改项目的输出类型
第二步、新建一个产品管理窗体,引用框架相关dll文件,并使产品管理窗体继承自框架窗体基类BaseForm,具体如下所示。
1、引用框架相关dll文件,使窗体继承自框架的基类窗体BaseForm,如图3.3所示 。
图3.3 框架基类引用、窗体继承BaseForm
2、 创建产品管理窗体界面及开发各功能模块代码,产品管理窗体设计界面如图3.4所示。
图3.4 产品管理窗体设计界面
3、 各功能模块工发完成后,编译无错,即可把编译成功的dll文件发布到RDIFramework.NET框架运行目录下,这儿的发布常用用的有两种方式,一种是可直接把dll文件拷贝到RDIFramework.NET框架执行目录下,第二种是通过把dll文件发布到更新服务器上,通过自己升级的方式更新。这儿为了方便,我直接把编译通过的dll文件拷贝以框架目录下,这儿的dll文件为“RDIFramework.Test.dll”。
4、 只要按照上面的说明准确无误的完成各个步骤,即可完成一个功能模块的部署与集成。集成后的“产品管理”我们可以打开框架查看,产品管理如图3.5所示。
3.5 产品管理
编辑产品如图3.6所示。
3.6 编辑产品
以上“产品管理”实例即完成了整个产品管理的开发与框架的无缝集成,其中还涉及各操作(功能)权限、模块权限的处理,可通过实例源码查看。
以上通过了一个较为简单的实例程序,简述了通过RDIFramework.NET进行开发的流程,框架不仅限于此,如果能灵活应用,将会大大提供开发效率,节省开发成本。目前已有上百家商业用户在使用中,应用于各行各业,使用效果佳。
RDIFramework.NET V2.8版本 ━ 开发实例之产品管理(WinForm)文档下载
作者: EricHu 出处: http://www.cnblogs.com/huyong Email: [email protected] QQ 交流:406590790 QQ群:237326100 平台博客: 【CSDN】http://blog.csdn.net/chinahuyong 【CNBLOGS】http://www.cnblogs.com/huyong 关于作者:高级工程师、信息系统项目管理师、DBA。专注于微软平台项目架构、管理和企业解决方案,多年项目开发与管理经验,曾多次组织并开发多个大型项目,精通DotNet,DB(SqlServer、Oracle等)技术。熟悉Java、Delhpi及Linux操作系统,有扎实的网络知识。在面向对象、面向服务以及数据库领域有一定的造诣。现从事DB管理与开发、WinForm、WCF、WebService、网页数据抓取以及ASP.NET等项目管理、开发、架构等工作。 如有问题或建议,请多多赐教! 本文版权归作者和CNBLOGS博客共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过邮箱或QQ 联系我,非常感谢。