关于DevExpress Winform GridControl GridView 主从表(Master-Detail)导出Excel问题
DevExpress 在早期的版本里,GridView导出Excel是根据所见所得的方式导出的,后来的版本修改了这种默认方式,改用了快捷的数据感知模式导出,从样式上看,所见所得的样式会比数据感知模式好看多了,可能DevExpress官方觉得还是以效率为主吧,所以才改了这种默认方式,不过这种数据感知模式不仅丢失了样式,还不支持主从表(Master-Detail)的明细导出,这也让新手有点丢失方向,看来很多老是有这个提问,在这里我觉得有必要出一篇文章专门说明一下,虽然我前面有一篇文章介绍了DevExpress Winform的通用的导出Excel的方法 且具备多个控件一同导出,但是可能有些喜欢简单点的,想直接用GridView的导出方法即可,那就写个简单的示例
简单建立一个主从实体结构Dept和Employee(DataTable则用DataSet设置关系,具体百度),下面这两句是必要条件,目的是让导出能够支持明细,
gridView1.OptionsPrint.PrintDetails = true;//导出明细
gridView1.OptionsPrint.ExpandAllDetails = true;//导出所有明细,false的话,只会导出展开的明细
///初始化数据
void Init(){gridView1.OptionsPrint.PrintDetails = true;//导出明细gridView1.OptionsPrint.ExpandAllDetails = true;//导出所有明细,false的话,只会导出展开的明细var list = new List<Dept>(){new Dept() {iD = 1,Name = "人事部",Employees = new List<Employee>(){new Employee(){ Code = "0001", Name = "小红" },new Employee(){ Code="0002",Name="小紫"}}},new Dept() {iD = 1,Name = "研发部",Employees = new List<Employee>(){new Employee(){ Code = "0003", Name = "小明" },new Employee(){ Code="0004",Name="小江"}}},};gridControl1.DataSource = list;gridView1.PopulateColumns();}public class Dept{public int iD { get; set; }public string Name { get; set; }public List<Employee> Employees { get; set; }}public class Employee{public string Code { get; set; }public string Name { get; set; }}
下面是导出按钮的点击事件,ExportToXlsx的第二个参数就是设置ExportType为所见所得模式
private void btnExport_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e){gridView1.ExportToXlsx("test.xlsx", new DevExpress.XtraPrinting.XlsxExportOptionsEx() { ExportType = DevExpress.Export.ExportType.WYSIWYG });}
数据表:
导出的结果:
关于DevExpress Winform GridControl GridView 主从表(Master-Detail)导出Excel问题相关推荐
- Winform界面中主从表编辑界面的快速处理
在Winform开发中,我们往往除了常规的单表信息录入外,有时候设计到多个主从表的数据显示.编辑等界面,单表的信息一般就是控件和对象实体一一对应,然后调用API保存即可,主从表就需要另外特殊处理,本随 ...
- 【Vegas原创】GridView修改表头,并导出Excel(C#版)
protected void btnExcel_Click(object sender, EventArgs e) { //绑定 bindgrdExcel(); ...
- php如何导出xls表,php如何导出excel表格?
php如何导出excel表格? 发布时间:2020-05-15 15:30:38 来源:亿速云 阅读:173 作者:Leah php如何导出excel表格?针对这个问题,今天小编总结这篇有关php导出 ...
- PowerDesigner 将pdm模型表 用命令导出成Excel表格
PowerDesigner 将pdm模型表 用命令导出成Excel表格 使用步骤: 打开PowerDesigner 快捷键 Ctrl+Shift+X 直接将代码复制进去即可. 代码: '******* ...
- 在GridControl表格控件中实现多层级主从表数据的展示
在一些应用场景中,我们需要实现多层级的数据表格显示,如常规的二级主从表数据展示,甚至也有多个层级展示的需求,那么我们如何通过DevExpress的GridControl控表格件实现这种业务需求呢?本篇 ...
- devexpress 主从表中从主、从表行列值的获得
一,主从表的设置 代码 DataTable dt = pb.GetItemInfoList(Port).Copy(); //返回一个TABLE dt.T ...
- DevExpress.GridControl.gridView的一些注意
1.DevExpress控件组中的GridControl控件不能使横向滚动条有效.现象:控件中的好多列都挤在一起,列宽都变的很小,根本无法正常浏览控件单元格中的内容. 解决: gridView1.Op ...
- DevExpress Winform 所有可打印控件(gridcontrol等)通用导出excel方法
涛神联合Dxper.Net开发者论坛管理在腾讯课堂开启DevExpress培训课程 详情可以加群QQ群:294560883 关于DevExpress Winform 的所有可打印控件的导出excel ...
- DevExpress GridControl Gridview RepositoryItemCheckEdit复选框及获取选择行数据
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/gisdoer/article/details/49250373 DevExpress GridCon ...
- C# DevExpress控件Gridview和GridControl学习总结
去年公司开始启动做自己的ERP物流系统,我也从Android客户端转向C#客户端开发,以下是在开发项目中遇到的一些知识点,记录下来,毕竟好记性不如烂笔头. 1. 如何解决单击记录整行选中的问题 Vie ...
最新文章
- 如何取小数点前两位并四舍五入?
- java resume过时方法_学点开发|关于Java多线程用法解析
- 8、如何将SQL语句映射为文件操作
- 如何用WordPress搭建自己的博客(转)
- java技术系列(一) Enum
- 华为鸿蒙osbeta在哪看发布会,重磅消息!华为在发布鸿蒙OS2.0手机beta版本后,又发布搭载鸿蒙的新品!!...
- ES6学习笔记(三)—— Set 和 Map
- python中head_Python(Head First)学习笔记:六
- db2数据库服务器时间怎么修改,DB2数据库中,肿么修改数据的创建时间,求SQL语句。...
- “中序表达式”转换为“前序表达式”、“后序表达式”
- spss聚类分析_【SPSS数据分析】SPSS聚类分析的软件操作与结果解读 ——【杏花开生物医药统计】...
- Flutter高级第6篇:事件广播 、事件监听
- 适合自己的才是最好的
- 2020年值得收藏与学习280多款H5小游戏,从入门到彻底了解它(附源码)
- 开场PPT动画怎么做炫酷
- MATLAB bp神经网络的雾霾天气下交通标志的识别系统
- 北京飞漫软件创始人魏永明
- 基于三维地图的可视化工厂优势
- 科学计数法e/E?计算机?表示?
- LTspice基础教程-006.运行仿真与瞬态分析