MES开发与应用 课件 3.8 工业管理软件开发基础-附加功能的开发实现_第1页
MES开发与应用 课件 3.8 工业管理软件开发基础-附加功能的开发实现_第2页
MES开发与应用 课件 3.8 工业管理软件开发基础-附加功能的开发实现_第3页
MES开发与应用 课件 3.8 工业管理软件开发基础-附加功能的开发实现_第4页
MES开发与应用 课件 3.8 工业管理软件开发基础-附加功能的开发实现_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3.8附加功能的开发实现深圳市信息职业技术学院目

录附加表单实现方式01附加表单实现示例02附加列表实现方式03附加列表实现示例04知识回顾配置项介绍;配置项功能的开发示例;列表获取配置项配置值的开发示例;表单获取配置项配置值的开发示例。学习目标通过本节学习可以:掌握附加表单的实现方式及应用场景;掌握附加表单的开发实现;掌握附加列表的实现方式及应用场景;掌握附加列表的开发实现。01附加表单的实现方式附加表单实现方式介绍附加表单实现方式附加表单的实现方式有两种:AssociateChildrenProperty方式附加主表和附加的子表单不是同一个实体,需要跟主实体一起保存数据,建议使用该方式进行附加,该方式附加需要依赖扩展属性。AttachDetailChildrenProperty方式附加主表和附加的子表单为同一个实体,或者是附加的子表单只是查看数据,不操作数据建议使用该方式进行附加。02附加表单的实现示例思考题使用AttachDetailChildrenProperty方式附加表单,如何实现?AttachDetailChildrenProperty附加表单开发示例业务描述读者管理中,可借书数量、已借书数量、剩余可借书数量、单位用附加表单的形式展示。AttachDetailChildrenProperty附加表单开发示例开发步骤定义一个分组常量并进行授权,添加分组对应的界面配置方法。AttachDetailChildrenProperty附加表单开发示例开发步骤界面配置方法ReaderManListConfigView设置。AttachDetailChildrenProperty附加表单开发示例开发步骤在读者管理的ConfigListView中使用附加View.AttachDetailChildrenProperty。AttachDetailChildrenProperty附加表单开发示例开发步骤附加的代码View.AttachDetailChildrenProperty(typeof(ReaderMan),(c)=>{varreaderMan=c.ParentasReaderMan;readerMan=RF.GetById<ReaderMan>(readerMan.Id,newEagerLoadOptions().LoadWithViewProperty());returnreaderMan;},ReaderManListViewGroup).HasLabel("详情").Show(ChildShowInWhere.All);说明:1、ReaderMan为附加的实体,这里附加子跟主表是同一个实体;2、RF.GetById是否带贪婪加载,取决于是否有第三方表的信息要展示;3、ReaderManListViewGroup为分组名,不设置默认为DetailsView;AttachDetailChildrenProperty附加表单开发示例开发步骤效果。思考题使用AssociateChildrenProperty方式附加表单,如何实现?AssociateChildrenProperty附加表单开发示例业务描述在供应商功能中附加供应商地址,地址包含的属性为编码和名称,与供应商不在同一个实体中。AssociateChildrenProperty附加表单开发示例开发步骤添加供应商地址的实体和界面配置。AssociateChildrenProperty附加表单开发示例开发步骤在服务端工程添加静态类,添加扩展属性,注意扩展类需要启用托管属性。AssociateChildrenProperty附加表单开发示例开发步骤配置扩展类的实体配置,将扩展属性设置为不映射数据库。AssociateChildrenProperty附加表单开发示例开发步骤在供应商界面的ConfigListView中附加供应商地址。AssociateChildrenProperty附加表单开发示例开发步骤附加子的实现代码。View.AssociateChildrenProperty(SupAdressExtention.SupAddProperty,(c)=>{varsup=c.ParentasSupplierTest;varaddress=RT.Service.Resolve<OrderTestController>().SupAddress(sup.Id);if(address==null){varsupAddress=newSupAddress();supAddress.GenerateId();returnsupAddress;}returnaddress;},"DetailsView").HasLabel("供应商地址").Show(ChildShowInWhere.All);

public

virtualSupAddressSupAddress(doublesupId){varresult=Query<SupAddress>().Where(p=>p.SupplierTestId==supId).FirstOrDefault();returnresult;}AssociateChildrenProperty附加表单开发示例开发步骤供应商子实体数据的保存(通过提交后事件实现),获取扩展属性的值通过entity.GetProperty(SupAdressExtention.SupAddProperty)获取AssociateChildrenProperty附加表单开发示例开发步骤效果。思考题AttachDetailChildrenProperty和AssociateChildrenProperty附加表单的区别?03附加列表的实现方式附加列表的实现方式介绍附加列表实现方式附加列表的实现方式有两种:AssociateChildrenProperty方式附加附加的子列表需要跟主实体一起保存数据,建议使用该方式进行附加,该方式附加需要依赖扩展列表属性。AttachChildrenProperty方式附加附加的子列表只是查看数据,不操作数据建议使用该方式进行附加。04附加列表的实现示例思考题使用AttachChildrenProperty方式附加列表,如何实现?AttachChildrenProperty附加列表开发示例业务描述读者管理中,附加借书管理子实体,以列表的形式附加,用于查看读者借书详情,效果如下。AttachChildrenProperty附加列表开发示例开发步骤定义附加子实体。AttachChildrenProperty附加列表开发示例开发步骤附加子列表的视图配置。AttachChildrenProperty附加列表开发示例开发步骤在读者管理的ConfigListView中使用附加View.AttachChildrenProperty。AttachChildrenProperty附加列表开发示例开发步骤附加子列表的代码View.AttachChildrenProperty(typeof(BorrowBookMan),c=>{varargs=casChildPagingDataArgs;varparent=args.Parent.CastTo<ReaderMan>();if(parent==null){ return

newEntityList<BorrowBookMan>();}varborrowBooks=RT.Service.Resolve<BookManController>().GetBorrowBookByReaderId(parent.Id,args.SortInfo,args.PagingInfo);returnborrowBooks;});说明:1、BorrowBookMan为附加的子实体;2、GetBorrowBookByReaderId后台查询数据的方法,需要把分页和排序传到后端处理;3、不设置分组,默认为ListView;AttachChildrenProperty附加列表开发示例开发步骤后台查询数据的方法。///

<summary>///根据读者id获取借书信息///

</summary>///

<param

name="readerId">读者id</param>///

<param

name="sortInfo">排序信息</param>///

<param

name="pagingInfo">分页信息</param>///

<returns>读者对应的借书信息</returns>public

virtualEntityList<BorrowBookMan>GetBorrowBookByReaderId(doublereaderId,IList<OrderInfo>sortInfo,PagingInfopagingInfo){returnQuery<BorrowBookMan>().Where(r=>r.ReaderManId==readerId).OrderBy(sortInfo).ToList(pagingInfo,newEagerLoadOptions().LoadWithViewProperty());}AttachChildrenProperty附加列表开发示例开发步骤效果。思考题使用AssociateChildrenProperty方式附加列表,如何实现?AssociateChildrenProperty附加列表开发示例业务描述供应商功能附加供应商联系人,能够正常操作保存数据。AssociateChildrenProperty附加列表开发示例开发步骤添加供应商联系人子实体。AssociateChildrenProperty附加列表开发示例开发步骤添加供应商联系人子实体对应的界面配置。AssociateChildrenProperty附加列表开发示例开发步骤在服务端工程添加静态类,扩展类启用托管属性,添加扩展列表属性。AssociateChildrenProperty附加列表开发示例开发步骤在供应商界面的ConfigListView中附加供应商联系人。AssociateChildrenProperty附加列表开发示例开发步骤附加子实现代码。View.AssociateChildrenProperty(SupAdressExtention.ContactProperty,(c)=>{varpagingDataArgs=casChildPagingDataArgs;varsup=c.ParentasSupplierTest;varcontacts=RT.Service.Resolve<OrderTestController>().GetSupContacts(sup.Id,pagingDataArgs.SortInfo,pagingDataArgs.PagingInfo);if(contacts.Count==0) return

newEntityList<SupContact>();returncontacts;}).HasLabel("供应商联系人").Show(ChildShowInWhere.All);public

virtualEntityList<SupContact>GetSupContacts(doublesupId,IList<OrderInfo>sortInfo,PagingInfopagingInfo){varresult=Query<SupContact>().Where(p=>p.SupplierTestId==supId).OrderBy(sortInfo).ToList(pagingInfo,newEagerLoadOptions().LoadWithViewProperty());returnresult;}AssociateChildrenProperty附加列表开发示例开发步骤重写联系人的添加命令,将联系人与供应商的外键设置为主表的idAssociateChildrenProperty附加列表开发示例开发步骤效果,点击操作按钮,可正常操作保存数据。练习1、SMOM开发中,以下关于子列表的实现说法错误的是?()A:可以使用ChildrenPr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论