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");//绑定总计(所有单据的总金额)

  

DevExpress XtraReport - 动态加载报表布局模板的更多相关文章

  1. android: 动态加载碎片布局的技巧

    虽然动态添加碎片的功能很强大,可以解决很多实际开发中的问题,但是它毕竟只是在 一个布局文件中进行一些添加和替换操作.如果程序能够根据设备的分辨率或屏幕大小在运 行时来决定加载哪个布局,那我们可发挥的空 ...

  2. Android学习笔记_31_通过后台代码生成View对象以及动态加载XML布局文件到LinearLayout

    一.布局文件part.xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android&qu ...

  3. ubuntu动态加载模块简单模板

    1:简单代码 #include<linux/init.h> #include<linux/module.h> MODULE_LICENSE("GPL"); ...

  4. Lodop 动态加载模板,动态加载数据

    最近需要使用Lodop打印控件,所以就研究了一下,期间从网上找了诸多的东西,基本全是对HTML进行打印的,没有找到我想要的,就只好自己动手丰衣足食. 这篇文章主要讲述的是Lodop与数据的结合使用,官 ...

  5. Android动态加载ListView中的Item

    我这周上网看到动态增加listview的每一项item的布局,今天抽空自己写了一个,方便自己日后使用,这个效果还是很不错的,用到了Adapter的notifyDataSetChanged()方法,当点 ...

  6. 会员管理系统的设计和开发(2)-- RDLC报表的设计及动态加载

    在上篇<会员管理系统的设计和开发(1)>介绍了关于会员系统的一些总体设计思路和要点,经过一段时间开发,软件终于完成并发布.在这期间,碰到了不少技术难点,并积累了不少开发心得和经验,本篇继续 ...

  7. 线性布局通过适配器可以动态加载view

    因为适配器的getView的返回对象是view, 所以线性布局的对象可以通过addView动态加载适配器的getView 举例: mTestAdapter = new ListAdapter(this ...

  8. Android 实现布局动态加载

    Android 动态加载布局 通过使用LayoutInflater 每次点击按钮时候去读取布局文件,然后找到布局文件里面的各个VIEW 操作完VIEW 后加载进我们setContentView 方面里 ...

  9. 在ASP.NET中动态加载内容(用户控件和模板)

    在ASP.NET中动态加载内容(用户控件和模板) 要点: 1. 使用Page.ParseControl 2. 使用base.LoadControl 第一部分:加载模板 下 面是一个模板“<tab ...

随机推荐

  1. JS实现俄罗斯方块

    在80后.90后的儿时记忆里,俄罗斯方块是必备的消遣小游戏,它的玩法非常简单基本大家都懂,但如何用编程语言开发一款儿时同款「俄罗斯方块」,恐怕知道的同学就很少啦. 位置掩码和旋转掩码 俄罗斯方块游戏中 ...

  2. ArcGIS 生成要素轮廓线掩膜

    先说效果: 生成轮廓之前:

  3. 【Postgres】Windows2012 不能启动

    PG启动错误-不知道什么错误 等待 postgresql-x64- 服务的连接超时( 毫秒). 由于下列错误,postgresql-x64- 服务启动失败: 服务没有及时响应启动或控制请求. 编写ba ...

  4. FFT代码详解

    关于FFT原理部分的介绍,在网上已经有很多了,所以在此只讲代码实现部分的内容. 原理可以参考https://www.cnblogs.com/RabbitHu/p/FFT.html 推荐看完它的原理解释 ...

  5. SpringCloud断路器(Hystrix)和服务降级案列

    断路器(Hystrix) 为什么需要 Hystrix? 在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用(RPC).为了保证其高可用,单个服务又必须集群部署.由于网络原因或者自 ...

  6. 「插头dp」

    Tasklist: 标识设计 神奇游乐园 Manhattan Wiring ParkII 游览计划 CITY: 只用一条回路经过所有可通过的块 括号匹配,注意结束位置不一定是(n,m) 地板: 分已经 ...

  7. 链表 | 判断链表B是否为链表A的连续子序列

    王道P38T16 代码: bool common_subSequence(LinkList &A,LinkList &B){ LNode *pA,*pB=B->next,*p=A ...

  8. UDF——判断边界类型

  9. js操作表格、table、

    js添加一行.删除一行 let str="<tr>" +"<td>"+a[1]+"</td>" +&qu ...

  10. [Gamma阶段]第五次Scrum Meeting

    Scrum Meeting博客目录 [Gamma阶段]第五次Scrum Meeting 基本信息 名称 时间 地点 时长 第五次Scrum Meeting 19/05/31 大运村寝室6楼 30min ...