码迷,mamicode.com
首页 > 其他好文 > 详细

XAF Excel数据导入模块使用说明与源码

时间:2016-01-22 17:02:32      阅读:338      评论:0      收藏:0      [点我收藏+]

标签:

 

我实现了XAF项目中Excel数据的导入,使用Devexpress 新出的spreadsheet控件,可能也不新了吧:D

好,先看一下效果图:下图是Web版本的。

技术分享

下面是win版,目前只支持Ribbon UI,下个版本支持其他界面的:

技术分享

 

功能说明:

支持从Excel任意版本导入数据,可以使用 打开文件功能选择现有的文件,没有模板时,请来到上图界面中,另存为Excel到本地,往模板上填加数据。

导入时使用了显示名称进行匹配字段,所以字段部分不要修改。

导入时会使用你在写好的验证规则。

支持Win+Web两个版本。

使用方法:

 

技术分享

第一步:将Admiral.ImportData模块拖到你的项目的模块中去,上图为例,我将把Admiral.ImportData拖到图中A项目中,即MFBI.Module中去。

第二步:将Admiral.ImportData.Web 拖到B中。

第三步:将Admiral.ImportData.Win拖到C中。

你不知道模块在哪里?请看下图:

技术分享

先打开solution 中的Module.cs, 然后从toolbox拖动ImportDataModule到Required Modules中。

当然这是把源码直接放到项目中去的方法,如果想直接使用DLL,可以编译好后,在toolbox中填加选择项,选择路径后,再进行拖动。

 

再来看看代码中的设置:

以下代码中有两处标红的,第一必须实现IImportData接口才可能导入,这个接口是空的,不用实现。DomainComponent也可以这样使用。

对于普通的字段,没有其他设置。

对于引用型字段,需要[ImportDefaultFilterCriteria("编码=?")]这样,来设置将来查找引用类型的值时,用什么条件进行查找,当然问号会被替换为Excel中真实的值。

    [XafDisplayName("销量明细")]
    [NavigationItem("销售模块")]
    public class 销量明细 : BaseObject,IImportData
    {
        public 销量明细(Session s) : base(s)
        {

        }

        private 订单 _订单;
        [Association]

[ImportDefaultFilterCriteria("编码=?")]
public 订单 订单 { get { return _订单; } set { SetPropertyValue("订单", ref _订单, value); } } ...... }

 

当前模块还比较简单 ,以后会慢慢完善。

 源码下载

 

欢迎加入XAF技术交流群讨论 XAF技术应用 50185791, QQ:4603528

 

转载请注明出处。多谢!

 

XAF Excel数据导入模块使用说明与源码

标签:

原文地址:http://www.cnblogs.com/foreachlife/p/xafimportexcel.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!