本文的主要是说明Dev的报表的主从表,主从表的每一组显示在一页,当一组超出一页,第二页只显示第一组的。

一、每上报表设置图

简单设计图如上

二、后台代码

报表页代码

public partial class XtraReport1 : DevExpress.XtraReports.UI.XtraReport
{
public XtraReport1()
{
InitializeComponent();
} /// <summary>
/// 设置主从表的数据源
/// </summary>
/// <param name="reportData"></param>
public void SetReportDataSource(DataSet reportData)
{
//因涉及到修改DataSet的内部属性,建议创建副本进行操作。
DataSet ds = reportData.Copy();//创建副本 //重要!!!给组(GroupHeader)绑定主键字段
//本报表是按业务单号分组
GroupField gf = new GroupField("ID", XRColumnSortOrder.Ascending);
GroupHeader1.GroupFields.Add(gf); //给数据集建立主外键关系
DataColumn parentColumn = ds.Tables["t1"].Columns["ID"];
DataColumn childColumn = ds.Tables["t2"].Columns["ID"];
DataRelation R1 = new DataRelation("R1", parentColumn, childColumn);
ds.Relations.Add(R1); //绑定主表的数据源
this.DataMember = "t1";
this.DataSource = ds;
this.xrLabel2.DataBindings.Add("Text", ds, "t1.ID"); //绑定明细表的数据源
this.DetailReport.DataMember = "R1";
this.DetailReport.DataSource = ds; this.xrLabel5.DataBindings.Add("Text", ds, "R1.ID");
this.xrLabel6.DataBindings.Add("Text", ds, "R1.Name"); xrLabel3.DataBindings.Add("Text", ds, "R1.ID");//绑定小计(当前单据的总金额)
xrLabel4.DataBindings.Add("Text", ds, "R1.ID");//绑定小计(当前单据的总金额)
}
}

前台调用代码

private void simpleButton1_Click(object sender, EventArgs e)
{
XtraReport1 xtra = new XtraReport1();
DataSet ds = new DataSet();
DataTable dt1 = new DataTable("t1");
dt1.Columns.Add("ID",Type.GetType("System.String")); DataTable dt2 = new DataTable("t2");
dt2.Columns.Add("ID",Type.GetType("System.String"));
dt2.Columns.Add("Name",Type.GetType("System.String")); for (int i = ; i < ; i++)
{
DataRow dt1Dr = dt1.NewRow();
dt1Dr["ID"] = i.ToString();
dt1.Rows.Add(dt1Dr);
for (int j = ; j < ; j++)
{
DataRow dt2Dr = dt2.NewRow();
dt2Dr["ID"] = i.ToString();
dt2Dr["Name"] = j.ToString() + "测试";
dt2.Rows.Add(dt2Dr);
}
}
ds.Tables.Add(dt1);
ds.Tables.Add(dt2); xtra.SetReportDataSource(ds);
xtra.ShowPreviewDialog();
}

主从表代码如上

设计重点

1、加分页头

2、构建主从表数据

3、设置DetailReport PageBreak为AfterBand

此例可以应用于,单据的打印,多单据连打,根据自己需要发挥!

示例代码下载

DevExpress主从表 按组分页一组不足一页为一页--以此记录的更多相关文章

  1. DevExpress gridcontrol gridView主从表折叠/展开显示

    在使用报表的时候,有很多需要主从表一起显示,从表不需要另外弹窗显示明细,反而直接显示在主表下方.如图所示: 第一次做这个功能,主从表显示,从表列隐藏,从表单元格点击事件这三个功能点花费了很多时间,在网 ...

  2. 【mysql】 mybatis实现 主从表 left join 1:n 一对多 分页查询 主表从表都有查询条件 【mybatis】count 统计+JSON查询

    mybatis实现 主从表 left join  1:n 一对多 分页查询   主表从表都有查询条件+count 需求: ======================================= ...

  3. 如何: 在 VS中的设计时刻主从表绑定控件到数据库

    这个示例展示了如何在 Visual Studio 2005 的设计时刻,把一个 data-aware 控件 (XtraGrid.XtraPivotGrid.XtraVerticalGrid 等) 绑定 ...

  4. 在DevExpress程序中使用Winform分页控件直接录入数据并保存

    一般情况下,我们都倾向于使用一个组织比较好的独立界面来录入或者展示相关的数据,这样处理比较规范,也方便显示比较复杂的数据.不过在一些情况下,我们也可能需要直接在GridView表格上直接录入或者修改数 ...

  5. 在GridControl表格控件中实现多层级主从表数据的展示

    在一些应用场景中,我们需要实现多层级的数据表格显示,如常规的二级主从表数据展示,甚至也有多个层级展示的需求,那么我们如何通过DevExpress的GridControl控表格件实现这种业务需求呢?本篇 ...

  6. 代码生成工具Database2Sharp中增加视图的代码生成以及主从表界面生成功能

    在代码生成工具的各种功能规划中,我们一向以客户的需求作为驱动,因此也会根据需要增加一些特殊的功能或者处理.在实际的开发中,虽然我们一般以具体的表进行具体业务开发,但是有些客户提出有时候视图开发也是很常 ...

  7. Winform开发框架之单据窗体生成(主从表,流水单号)

    源码地址:https://github.com/GarsonZhang/GZFramework.ShareDemo 前言 1.在开始本节前请先重置代码为 chapter-03-start 懒人地址:h ...

  8. GZFramwork数据库层《三》普通主从表增删改查

    运行结果: 使用代码生成器(GZCodeGenerate)生成tb_Cusomer和tb_CusomerDetail的Model 生成器源代码下载地址: https://github.com/Gars ...

  9. DEV主从表

    1.主从表隐藏表格展开按钮. 当主表内容不包含子表时候隐藏,主从表加号图标.效果如下图. 实现代码 private void gvMain_CustomDrawCell(object sender, ...

随机推荐

  1. 【DNN】C#中类的一些特性标注

    [AttributeUsage] 其实AttributeUsage类就是描述了一个定制特性如和被使用. C# AttributeUsage的使用要明白: AttributeUsage有三个属性,我们可 ...

  2. Spark调优

    因为Spark是内存当中的计算框架,集群中的任何资源都会让它处于瓶颈,CPU.内存.网络带宽.通常,内存足够的情况之下,网络带宽是瓶颈,这时我们就需要进行一些调优,比如用一种序列化的方式来存储RDD来 ...

  3. 刚刚结束了公司EP流程,开始KMS项目开发了

    刚刚结束了公司EP流程,开始KMS项目开发了 EP流程:AGpoint+MOSS+C# KMS:MOSS上的文档管理系统

  4. R Graphics Cookbook 第3章 – Bar Graphs

    3.1 基本条形图 library(ggplot2) library(gcookbook) pg_mean   #这是用到的数据   group weight 1  ctrl  5.032 2  tr ...

  5. android assets文件夹资源的访问

    1.assets文件夹里面的文件都是保持原始的文件格式 . 2.assets中的文件只可以读取而不能进行写的操作. 3.assets目录下的资源文件不会在R.java自动生成ID,所以读取assets ...

  6. JDBC demo

    package com.zhangbz.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql ...

  7. IOS开发关于测试的好的网址资源

    1. 高级自动化单元测试,推荐看LeanCloud 工程师的李智维的自动化单元测试的直播录影李智维的演示github 2.iOS开发-单元测试 这只是一篇简单的ios测试介绍 3.iOS单元测试 来自 ...

  8. 捡火柴的Nova君(n个线段相交问题)

    题目来源:https://biancheng.love/contest-ng/index.html#/41/problems 捡火柴的Nova君 题目描述 南方没暖气,怕冷的的宝宝们只能用火柴取暖.然 ...

  9. [QualityCenter]设置工作流脚本-新建缺陷时描述字段模板设置

    需求:实现新建缺陷时,描述模板自动生成填写模板. 在脚本编辑器找到Defects_Bug_New函数,然后填写以下代码: Sub Defects_Bug_New    On Error Resume ...

  10. Effective Java 14 In public classes, use accessor methods, not public fields

    Principle To offer the benefits of encapsulation you should always expose private field with public ...