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

如何操控DevExpress的 SpreadSheet 控件 并与 XAF 结合应用的更多相关文章

  1. DevExpress的GridControl控件更新數據問題解決辦法

    開發WPF程序時,使用Devexpress的GridControl控件用ItemSource綁定數據,在頁面進行編輯時,當屬性繼承INotifyPropertyChanged接口時會同步更新後臺數據. ...

  2. DevExpress的Web控件汉化方法

    原文:DevExpress的Web控件汉化方法 项目中用到devexpress的web控件,机器没有安装devexpress控件,直接在项目中引用的dev的dll,项目运行时发现都是英文界面,所以解决 ...

  3. 使用DevExpress.XtraTabbedMdi.XtraTabbedMdiManager控件来加载MDI窗体

    使用DevExpress.XtraTabbedMdi.XtraTabbedMdiManager控件来加载MDI窗体     [csharp] view plaincopyprint? <SPAN ...

  4. DevExpress Winform 常用控件

    Ø  前言 DevExpress 控件的功能比较强大,是全球知名控件开发公司,对于开发 B/S 或 C/S 都非常出色,可以实现很炫且功能强大的效果. DevExpress Winform 常用控件是 ...

  5. 玩转控件:重绘DEVEXPRESS中DateEdit控件 —— 让DateEdit支持只选择年月 (提供源码下载)

      前言 上一篇博文<玩转控件:重绘ComboBox —— 让ComboBox多列显示>中,根据大家的回馈,ComboBox已经支持筛选了,更新见博文最后最后最后面.   奇葩 这两天遇到 ...

  6. DevExpress Winform 通用控件打印方法(允许可自定义边距) z

    DevExpress Winform 通用控件打印方法,包括gridcontrol,treelist,pivotGridControl,ChartControl,LayoutControl...(所有 ...

  7. DevExpress之GridControl控件小知识

    DevExpress之GridControl控件小知识 一.当代码中的DataTable中有建数据关系时,DevExpress 的 GridControl 会自动增加一个子视图 .列名也就是子表的字段 ...

  8. DevExpress主要常用控件

    DevExpress主要常用控件说明:1. TestEdit: 一个单行文本编辑器. 常用属性:Name:该控件的名称.Text:该控件中的内容.Enabled:该控件是否激活. Visible:控件 ...

  9. Devexpress treelist 树形控件 实现带三种状态的CheckBox

    树形控件是使用频率很高的一种控件.对于属性控件往往需要下面两个功能 1.TreeList带有CheckBox,并且节点要有三种状态(所有的子节点都选中,所有的子节点都没选择,一部分子节点选中).使用 ...

随机推荐

  1. 运维监控-Zabbix Server 使用QQ SMTP发送邮件报警及定制报警内容

    运维监控-Zabbix Server 使用QQ SMTP发送邮件报警及定制报警内容 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客采用腾讯邮箱,想必大家都对QQ很了解,所以 ...

  2. 【C#】使用bat文件安装卸载Window服务

    1.安装服务 @echo off @title 安装windows服务path %SystemRoot%\Microsoft.NET\Framework\v4.0.30319echo========= ...

  3. ThinkPHP3.2中字段unique验证出错的解决方法

    protected $_validate=array( array('stu_id','','学号已存在',1,'unique',1), ) 当一次插入多条数据时: 在进行循环 使用create验证时 ...

  4. 51Nod - 1228 序列求和 (自然数幂和+伯努利数)

    https://vjudge.net/problem/51Nod-1228 Description T(n) = n^k,S(n) = T(1) + T(2) + ...... T(n).给出n和k, ...

  5. 当一些库和类无法在Silverlight工程中使用

    因为要更新空间数据,所以需要导入MDB文件.但是Silverlight中不能直接使用OdbcConnection类读取MDB文件,所以需要新建一个ASP.NET空Web应用程序 工程 随后在此工程中, ...

  6. plsql developer 11 + Oracle 11g 开发环境setup

    这是一个很水的博客, 介绍搭建plsql developer 11+ Oracle 11g 开发环境. 1. 本机上安装Oracle 11g express 对于开发足够了, 300MB的下载文件, ...

  7. nginx接入let's encrypt

    按以下步骤: 一.放开443端口 我的是云服务器,默认没开放443端口,需要先在控制台放开 二.使用let’s encrypt 生成证书 执行以下命令: git clone https://githu ...

  8. Reshaper安装后vs快捷键不起作用

    做如上设置

  9. opencv实现坐标旋转(教你框住小姐姐)

    一.项目背景 最近在做一个人脸检测项目,需要接入百度AI的系统进行识别和检测.主要流程就是往指定的URL上post图片上去,之后接收检测结果就好了. 百度的检测结果包含这样的信息: left - 人脸 ...

  10. JS创建对象之原型模式

    一.原型对象 只要创建了一个新函数,就会根据一组特定的规则为该函数创建一个prototype属性,这个属性指向函数的原型对象:在默认情况下,所有原型对象都会 自动获得一个constructor(构造函 ...