一步一步教你使用AgileEAS.NET基础类库进行应用开发-WinForm应用篇-实例一个模块(商品字典)

简介:

  本文是一步一步教你使用AgileEAS.NET基础进行应用开发系统的WinForm应用篇的开篇,从本文起开始大家将看到一个距离真实应用非常接的开发案例。

商品字典管理

         商品字典管理完成产品进销存业务业务中用到的基础信息,产品字典的增加、修改、删除等业务,它不是一个进销存在主体业务,只是用于为主体业务提供基础支持的一个辅助业务。

功能和界面预览

         商品字典管理完成产品进销存业务业务中用到的基础信息,产品字典的增加、修改、删除等业务,它不是一个进销存在主体业务,只是用于为主体业务提供基础支持的一个辅助业务。

image

         字典查询:根据产品编码或者产品名称的拼音简码检索数据库与之匹配的产品字典数据,并且显示的数据列表之上。

         查询结果打印:将满足查询的结果打印输出,演示报表的使用。

         添加新的产品字典:调用产品字典添加界面向系统中增加一个新的产品字典。

         修改现有产品字典:调用产品字典修改界面修改指定的产品字典记录。

         删除现有产品字典:删除系统中已经存在的某个产品字典。

代码的重新生成

         现在我们可以来看看如何实现,不过,我们在看这个实现之前先插入一个小插曲,我们来看看我们的数据查询需求,“根据产品编码或者产品名称的拼音简码检索数据库与之匹配的产品字典数据”显然是不满足这个需求的,我们此前定义的数据结构之中没有定义拼音简码,我们现在来增加上,并且修正此前定义的几个bug。

WG[YF_6C1I3NS40`E%V18M4

         然后重新生成代码,输出目录选择本解雇方案代码目录,不要选中“生成解雇方案”:

image
          因为生成的代码采用了分部的的结构,数据层中与数据表、实体定义相关的对象定义信息都保存的项目的Generat目录下的名称带有Generat的代码文件中,而自定义的数据层业务逻辑被保存在项目目录中的不带Generat的代码文件之中,也就是说,当数据对象的定义发生变更并且重新生成代码文件后,不会覆盖我们编写的自定义处理,只覆盖与数据对象定义相关的代码文件,以保护程序员的投资。

实现我们的业务

         对于字典的查询业务处理,我们需要在数据层接口IProductList编写一个数据查询方法void GetProductList(string code)并在SQLServer实现层项目中实现这个定义: 

 

复制代码
1           public   void  GetProductList( string  code)
2          {
3              Condition condition  =   this .CreateCondition();
4              condition.AddElement( " CODE " , code, ElementType.MatchPrefix);
5              condition.AddElement( " PYCODE " , code, ElementType.MatchPrefix,ElementCombineType.Or);
6              condition.AddOrderElement( " IDN " true );
7               this .Query(condition);
8          }
复制代码

 

         UI代码之中增加一个查询结果显示代码:

 

复制代码
 1           internal   void  LoadDictList()
 2          {
 3              IProductList dictList  =  DALHelper.DALManager.CreateProductList();
 4              dictList.GetProductList( this .tbSeach.Text);
 5 
 6               try
 7              {
 8                   this .Cursor  =  Cursors.WaitCursor;
 9                   this .lvInfo.BeginUpdate();
10                   this .lvInfo.Tag  =  dictList;
11                   this .lvInfo.Items.Clear();
12                   foreach  (IProduct dict  in  dictList.Rows)
13                  {
14                      ListViewItem item  =   new  ListViewItem( new   string [] {  string .Empty, dict.Code, dict.Name, dict.Spec, dict.Unit,dict.PYCode, dict.Description },  0 );
15                      item.Tag  =  dict;
16                       this .lvInfo.Items.Add(item);
17                  }
18              }
19               finally
20              {
21                   this .lvInfo.EndUpdate();
22                   this .Cursor  =  Cursors.Default;
23              }
24          }
复制代码

 

         字典的添加与修改处理,我们在UI层中增加如下窗体:

%7I{P[[3[]9ERAYCE{X)Z1J

         并增加如下数据显示与写回代码:

代码

 

         字典的删除业务,我们安排在当选择某个商品字典之后可以通过工具条或者快捷菜单中的“删除”完成操作,我们来看看其处理代码:

 

代码

 

我们来编译并且运行这个示例:

image 

           有关本例子所涉及的数据表结构请参考基于AgileEAS.NET平台基础类库进行应用开发-总体说明及数据定义一文,有关数据对象模型定义文件、文档、DDL脚本请下载:http://files.cnblogs.com/eastjade/demo.db.doc.sql.rar,本文完整代码下载:Product.Demo.rar

 

链接

一步一步教你使用AgileEAS.NET基础类库进行应用开发-系列目录

AgileEAS.NET平台开发指南-系列目录

AgileEAS.NET应用开发平台介绍-文章索引

AgileEAS.NET平台应用开发教程-案例计划

AgileEAS.NET官方网站

敏捷软件工程实验室

QQ群:116773358


作者:魏琼东 
出处:http://www.cnblogs.com/eastjade
关于作者:有13年的软件从业经历,专注于中小软件企业软件开发过程研究,通过在技术与管理帮助中小软件企业实现技术层面开源节流的目的。熟悉需求分析、企业架构、项目管理。现主要从事基于AgileEAS.NET平台的技术咨询工作,主要服务于医疗卫生、铁路、电信、物流、物联网、制造、零售等行业。如有问题或建议,请多多赐教! 
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过mail.james@qq.com 联系我,也可以加入QQ群:113723486、199463175、116773358、116773358、212867943、147168308、59827496、193486983、15118502和大家共同讨论,非常感谢。


    本文转自魏琼东博客园博客,原文链接:http://www.cnblogs.com/eastjade/archive/2010/10/12/1845509.html,如需转载请自行联系原作者


相关文章
|
10月前
|
机器学习/深度学习 存储 编解码
RT-DETR改进策略【Neck】| ArXiv 2023,基于U - Net v2中的的高效特征融合模块:SDI(Semantics and Detail Infusion)
RT-DETR改进策略【Neck】| ArXiv 2023,基于U - Net v2中的的高效特征融合模块:SDI(Semantics and Detail Infusion)
341 16
RT-DETR改进策略【Neck】| ArXiv 2023,基于U - Net v2中的的高效特征融合模块:SDI(Semantics and Detail Infusion)
|
10月前
|
机器学习/深度学习 存储 编解码
YOLOv11改进策略【Neck】| ArXiv 2023,基于U - Net v2中的的高效特征融合模块:SDI(Semantics and Detail Infusion)
YOLOv11改进策略【Neck】| ArXiv 2023,基于U - Net v2中的的高效特征融合模块:SDI(Semantics and Detail Infusion)
433 7
YOLOv11改进策略【Neck】| ArXiv 2023,基于U - Net v2中的的高效特征融合模块:SDI(Semantics and Detail Infusion)
|
11月前
|
C# Android开发 iOS开发
2025年全面的.NET跨平台应用框架推荐
2025年全面的.NET跨平台应用框架推荐
462 23
|
开发框架 监控 .NET
【Azure App Service】部署在App Service上的.NET应用内存消耗不能超过2GB的情况分析
x64 dotnet runtime is not installed on the app service by default. Since we had the app service running in x64, it was proxying the request to a 32 bit dotnet process which was throwing an OutOfMemoryException with requests >100MB. It worked on the IaaS servers because we had the x64 runtime install
219 5
|
12月前
|
监控 前端开发 API
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统
338 5
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
439 0
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
231 7
|
存储 开发框架 前端开发
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
268 0
|
开发框架 前端开发 .NET
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
200 0
|
开发框架 前端开发 安全
ASP.NET MVC 如何使用 Form Authentication?
ASP.NET MVC 如何使用 Form Authentication?
350 0

热门文章

最新文章