如何操控DevExpress的 SpreadSheet 控件 并与 XAF 结合应用
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 结合应用的更多相关文章
- DevExpress的GridControl控件更新數據問題解決辦法
開發WPF程序時,使用Devexpress的GridControl控件用ItemSource綁定數據,在頁面進行編輯時,當屬性繼承INotifyPropertyChanged接口時會同步更新後臺數據. ...
- DevExpress的Web控件汉化方法
原文:DevExpress的Web控件汉化方法 项目中用到devexpress的web控件,机器没有安装devexpress控件,直接在项目中引用的dev的dll,项目运行时发现都是英文界面,所以解决 ...
- 使用DevExpress.XtraTabbedMdi.XtraTabbedMdiManager控件来加载MDI窗体
使用DevExpress.XtraTabbedMdi.XtraTabbedMdiManager控件来加载MDI窗体 [csharp] view plaincopyprint? <SPAN ...
- DevExpress Winform 常用控件
Ø 前言 DevExpress 控件的功能比较强大,是全球知名控件开发公司,对于开发 B/S 或 C/S 都非常出色,可以实现很炫且功能强大的效果. DevExpress Winform 常用控件是 ...
- 玩转控件:重绘DEVEXPRESS中DateEdit控件 —— 让DateEdit支持只选择年月 (提供源码下载)
前言 上一篇博文<玩转控件:重绘ComboBox —— 让ComboBox多列显示>中,根据大家的回馈,ComboBox已经支持筛选了,更新见博文最后最后最后面. 奇葩 这两天遇到 ...
- DevExpress Winform 通用控件打印方法(允许可自定义边距) z
DevExpress Winform 通用控件打印方法,包括gridcontrol,treelist,pivotGridControl,ChartControl,LayoutControl...(所有 ...
- DevExpress之GridControl控件小知识
DevExpress之GridControl控件小知识 一.当代码中的DataTable中有建数据关系时,DevExpress 的 GridControl 会自动增加一个子视图 .列名也就是子表的字段 ...
- DevExpress主要常用控件
DevExpress主要常用控件说明:1. TestEdit: 一个单行文本编辑器. 常用属性:Name:该控件的名称.Text:该控件中的内容.Enabled:该控件是否激活. Visible:控件 ...
- Devexpress treelist 树形控件 实现带三种状态的CheckBox
树形控件是使用频率很高的一种控件.对于属性控件往往需要下面两个功能 1.TreeList带有CheckBox,并且节点要有三种状态(所有的子节点都选中,所有的子节点都没选择,一部分子节点选中).使用 ...
随机推荐
- JavaSE_坚持读源码_ClassLoader对象_Java1.7
ClassLoader java.lang public abstract class ClassLoader extends Object //类加载器的责任就是加载类,说了跟没说一样 A clas ...
- Hadoop记录-日常运维操作
1.Active NameNode hang死,未自动切换 #登录当前hang死 Active namenode主机,停止Namenode,触发自动切换.hadoop-daemon.sh stop n ...
- [JDK8] Lambda
本文转载原文http://www.cnblogs.com/jalja/p/7655170.html 一.使用线程 public static void main(String[] args) { // ...
- 微信小程序入门教程(一)API接口数据记录
今天测试用小程序调用API接口,发现有些数据打印都是对象,怎么全部打印详细点来 小程序代码: httpsearch: function (name, offset, type, cb) { wx.re ...
- JS常用类
JS常用类 一.Number 1.常用数字 整数:10 小数:3.14 科学计数法:1e5 | 1e-5 正负无穷:Infinity | -Infinity 2.常用进制 二进制:0b1010 八进制 ...
- Windows10开机自动运行批处理、脚本等的方法
方法/步骤: 一:打开我的电脑, 在地址栏输入:“C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup”, 二,把自动运行批处理.脚 ...
- maven打包可执行jar文件运行报错
起因 项目中同时依赖了Spring和MyBatis,并使用mybatis-spring集成MyBatis和Spring. 使用maven打包为可执行jar文件运行,打包插件为:maven-shade- ...
- Kettle系列: kettle标准化trans模板
=============================主控trans + sub trans 模式=============================针对一个具体的处理任务(比如增量加载一个 ...
- 27. Spring Boot 缓存注解详解: @Cacheable、@CachePut、 @CacheEvict、@Caching、@CacheConfig
1.使用OGNL的命名规则来定义Key的值 @Cacheable(cacheNames = {"user"},key = "#root.methodName + '[' ...
- Javaweb学习笔记——(二十)——————Javaweb监听器、国际化
Javaweb监听器 三大组件 *Servlet *Listener *Filter Listener:监听器 1.初次相见:A ...