C# Winform 开发框架 - 业务单据附件管理解决方案(原)

  C# Winform 开发框架 - 业务单据附件管理解决方案(原)

C# Winform 开发框架 - 业务单据附件管理解决方案(原)



业务单据附件管理功能

业务单据附件管理是C/S开发框架提供的辅助功能,主要是用于保存业务单据的原始副本电子文件,如:原始单据扫描件,传真文件,签名文件,图片, 电子邮件等。附件数据作为业务单据的一个明细表,通过单据号码建立主外键关联。


系统需要存储大量的附件文件,因此要严格限制文件大小,图片文件必须压缩(建议JPG格式),或者文件大小控制在指定的数值范围。


建议所有文件压缩成RAR再上传到服务器。


附件存储介质,支持两种存储介质:


1: SQL数据库 

2. 服务器本地文件

3.自定扩展IAttachmentStorage接口

贴图图片


附件管理功能已封装为自定义控件,您只要从工具栏拖到界面上即可使用。


贴图图片



控件功能:

1. 附件展示方式: 以列表方式展示附件,显示文件图标+文件名。
2. 增加: 打开文件对话框选择文件,建议RAR文件。
3. 删除: 弹出对话框确认是否删除文件。
4. 另存为:将文件存储到本地。
5. 打开附件:依赖Windows安装的程序自动打开附件。



控件使用说明:


1. 属性设置

贴图图片


ImmediatelyPost 属性:

True: 立即提交附件到存储地, 新增状态下尚未生成单据号码此功能无效,。
False: 点保存按钮时与单据数据一并提交。


StorageStrategy: 存储策略:

1. AttachmentStorage_SQL – 存储到SQL服务器。
2. AttachmentStorage_Folder – 存储到共享目录。
3. 自由扩展, 实现IAttachmentStorage 接口即可。

(错别字:StorateStrategy应改为StorageStrategy)


绑定事件:

贴图图片

OnPostAttachmentData:

该事件用于处理提交数据前的准备工作,如设置关联单据号码。

ImmediatelyPost 属性为True,必须需要绑定此事件。当用户新增/删除附件立即触发OnPostAttachmentData事件提交数据。


实例源码:


1. InitializeForm 方法内设置存储策略

C# Code:

ucAttachment1.StorateStrategy = new AttachmentStorage_SQL(); //附件存储策略



 
2. 在ButtonStateChanged方法内增加一行代码, 当操作状态发生变化时设置附件管理组件的按钮状态。
  

C# Code:

ucAttachment1.DoSetButtonState(_UpdateType); //设置按钮状态


 

3. DoBindingDetailGrid方法,作为明细表绑定附件数据。
   

C# Code:

    //绑定单据的附件数据

    DataTable attachFiles = dataSource.Tables[tb_AttachFile.TableName];

    ucAttachment1.StorateStrategy.AttachmentStorage = attachFiles;

 ucAttachment1.DoBindDataSource();



 
4. DoSave方法保存业务数据成功后再提交附件

C# Code:

if (result.Success) //保存成功

{

         ucAttachment1.StorateStrategy.SetDocNo(result.DocNo);//设置单号

     ucAttachment1.StorateStrategy.Post();//保存附件

}



 

5. 绑定OnPostAttachmentData事件,保存前设置单据号码
       

C# Code:

  private void ucAttachment1_OnPostAttachmentData(object data)

  { //在提交数据前设置单据号码

     string docNo = this.GetSummaryFieldValue(tb_SO.KeyName);

     ucAttachment1.StorateStrategy.SetDocNo(docNo);

  }


 

C/S框架网|原创精神.创造价值.打造精品


扫一扫加作者微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务

版权声明:本文为CSFramework文库发布内容,转载请附上原文出处连接
C/S框架网
发表评论

评论内容
昵称:
关联文章

C# Winform 开发框架 - 业务单据附件管理解决方案()
CS开发框架 - 业务单据自动生成功能设计()
业务单据窗体开发步骤
开发技巧-Winform窗体自动生成下一个业务流程的单据|C/S框架
Winform+DevExpress框架之独立图片存储解决方案|C/S框架
Winform快速开发框架之存储图片资源解决方案|C/S框架
C#.Net局域网版本自动升级解决方案(创)
创:C/S架构快速开发框架通用可配置的数据修改日志解决方案
C/S开发框架新功能:批量更新业务单据的业务员、制单人制表人
创】进销存软件开发模板基于C/S架构快速开发框架C#+Winform+DevExpress
C/S架构开源软件 - C#.NET+Winform+Dev+SQL快速开发框架
创】C# Winform进销存系统快速开发框架
Winform软件快速开发平台 - 关于数据权限,表格列权限控制两种解决方案
业务单据主表字段命名规范
业务单据窗体基类介绍
C/S架构轻量级快速开发框架WinFramework-VS解决方案和工程项目
C/S架构的Winform 代码生成器软件|C/S框架创作品
什么是业务单据?什么是业务数据?什么是业务窗体?
使用bllBaseDataDict类提交业务单据(主从表)的明细表实例|C/S框架
CSFramework旗舰版快速开发框架目录结构以及解决方案介绍