DevExpress XtraReport - 动态加载报表布局模板
2024-08-23 23:12:51
XtraReport的报表模板文件是.repx,下面的代码演示动态加载报表布局模板。
XtraReport mReport = new XtraReport();
mReport.LoadLayout(Application.StartupPath @"\Reports\" @"rptSO.repx"); //报表模板文件 //取报表数据
DataSet ds = new bllSO().GetReportData(txtNoFrom.Text, txtNoTo.Text, txtDateFrom.DateTime, txtDateTo.DateTime); //查找组件
GroupHeaderBand GroupHeader1 = mReport.FindControl("GroupHeader1", true) as GroupHeaderBand;
DetailReportBand DetailReport = mReport.FindControl("DetailReport", true) as DetailReportBand;
DetailBand Detail1 = mReport.FindControl("Detail1", true) as DetailBand;
XRLabel xrLabel15 = mReport.FindControl("XRLabel15", true) as XRLabel;
XRLabel xrLabel23 = mReport.FindControl("XRLabel23", true) as XRLabel; //重要!!!给组(GroupHeader)绑定主键字段
//本报表是按业务单号分组
GroupField gf = new GroupField("SONO", XRColumnSortOrder.Ascending);
GroupHeader1.GroupFields.Add(gf); //给数据集建立主外键关系
DataColumn parentColumn = ds.Tables["tb_SO"].Columns["SONO"];
DataColumn childColumn = ds.Tables["tb_SOs"].Columns["SONO"];
DataRelation R1 = new DataRelation("R1", parentColumn, childColumn);
ds.Relations.Add(R1); //绑定主表的数据源
mReport.DataMember = "tb_SO";
mReport.DataSource = ds; //绑定明细表的数据源
DetailReport.DataMember = "R1";
DetailReport.DataSource = ds; //自动绑定明细表XRLabel的数据源
BindingFields(ds, Detail1.Controls); xrLabel15.DataBindings.Add("Text", ds, "R1.Amount");//绑定小计(当前单据的总金额)
xrLabel23.DataBindings.Add("Text", ds, "R1.Amount");//绑定总计(所有单据的总金额)
最新文章
- Dynamics AX 2012 R2 业务系列
- display:inline 遇上 li 无效? why?
- 【wikioi】1014 装箱问题
- Java 使用对话框选择文件并输出到控制台
- POJ 3114 Countries in War(强联通分量+Tarjan)
- Linux shell 脚本攻略之统计文件的行数、单词数和字符数
- aop aspect
- haproxy 关闭ssl 3.0 加密
- springboot 集成shiro
- 使用matplotlib绘制多轴图
- contain_of宏定义
- .net环境下跨进程、高频率读写数据
- I春秋——Misc(贝斯家族)
- linux文件名乱码解决
- python学习|类和实例
- Android--UI之ImageSwitcher
- 25 Zabbix系统数据表结构介绍
- Lucene 个人领悟 (三)
- 修改ThinkPHP缓存为Memcache的方法
- Spark程序本地运行