当前位置:   article > 正文

如何操控DevExpress的 SpreadSheet 控件 并与 XAF 结合应用

devexpress spreadsheet 根据指定表头获取数据

DevExpress的XAF 框架通常使用 GridControl 控件来操作数据库表中的数据,但导入导出、非结构化数据的管理可以使用SpreadSheet 控件。

SpreadSheet 控件模拟微软的 EXCEL 电子表格,对手工干预比较多的数据是一种很好的方式。下面总结一下如何组合应用:

 

一、利用 SpreadSheet 控件 来导入 EXCEL 格式的数据。

      通常的做法是通过 EXCEL 的接口,读取 EXCEL 文件,获取数据,然后写入数据库记录。本人采用一种更直观的方式。

      1)在 XAF 中创建一个 用户控件,引用 SpreadSheet  提供的 SpreadsheetControl 控件;

      2)加入 SpreadsheetControl   提供的 操作动作控件 (比如打开文件、保存等)。

      3)在模型设计器中创建一个 XAF 的 DashboardView,加入一个 ControlDetailItem,并将 其ControlTypeName 属性的值设置为:上述创建的用户控件。然后,增加其它设置。。。

      4)在需要导入EXCEL 的对象界面,创建一个 ViewController (可以限用于 List 界面),增加一个PopupWindowShowAction  。

            A\ 自行定义 CustomizePopupWindowParams 事件,用方法 CreatDashbardView  创建 一个  DashbardView,用于弹出。

                 弹出窗口中,包含了 EXCEL 样式的 SpreadsheetControl 控件,可以打开 XLS,XLSX 等格式的文件。

            B\ XXXAction_Excute 事件,用于数据的导入。

 

二、 利用 SpreadSheet  控件来管理 非结构化数据。

       1)自定义控件与 VIEW 的过程同上(一);

       2)但数据保存于数据库记录的一个字段中,使用于XAF 的附件扩展;

       3)从此字段加载数据,使用控件的方法:SpreadsheetControl.LoadDocument ,有两个参考:

            bool LoadDocument(Stream stream, DocumentFormat format)     bool LoadDocument(Byte[] buffer)   后者自动探测文档格式。

            bool LoadDocument(Byte[] buffer, DocumentFormat format)          bool LoadDocument(Stream stream)  后者自动探测文档格式。

      4) 保存文档的方法 参考此文   How to: Save a Document to a File  ,下列方法可以使用。 

             void SaveDocument(Stream stream, DocumentFormat format)  

             Byte[] SaveDocument(DocumentFormat format)   

      5)  SpreadsheetControl 如何与数据库交互, 参考 此文:  How to: Store a Workbook in the Database

 

转载于:https://www.cnblogs.com/hopesun/p/7277981.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/135987
推荐阅读
相关标签
  

闽ICP备14008679号