private void GetWqpWorkPrinter(List<ReelListMagt> list, string WorkDate, User user)
{
ReelListMagtService service = new ReelListMagtService();
#region 数据源
DataSet ds = new DataSet();
DataTable dt_Main = service.GetWqpWorkHeader(list, WorkDate, user).Tables[0];
dt_Main.TableName = "parent";
ds.Tables.Add(dt_Main.Copy());
DataTable dt_detail = service.GetWqpWorkDetailed(list).Tables[0];
dt_detail.TableName = "child";
ds.Tables.Add(dt_detail.Copy());
//设置主表和从表的父子关系
DataColumn parentColumn = ds.Tables["parent"].Columns["REEL_NO"];
DataColumn childColumn = ds.Tables["child"].Columns["REEL_NO"];
DataRelation R1 = new DataRelation("R1", parentColumn, childColumn);
ds.Relations.Add(R1);
#endregion this.GroupHeader1.GroupFields.Add(new GroupField("REEL_NO", XRColumnSortOrder.Ascending)); #region Main
this.DetailReport.DataSource = ds;
this.DetailReport.DataMember = "parent"; LINE_INFO.DataBindings.Add("Text", ds, "LINE_INFO");
BASIC_MODEL_CODE.DataBindings.Add("Text", ds, "BASIC_MODEL_CODE");
PO.DataBindings.Add("Text", ds, "PO");
PGM_ID.DataBindings.Add("Text", ds, "PGM_ID");
TB_CODE.DataBindings.Add("Text", ds, "TB_CODE");
MODEL_CODE.DataBindings.Add("Text", ds, "MODEL_CODE");
PCB.DataBindings.Add("Text", ds, "PCB");
FW.DataBindings.Add("Text", ds, "FW_NM");
//
Barcode.DataBindings.Add("Text", ds, "BARCODE");
LBLEQUIPID.DataBindings.Add("Text", ds, "EQUIP_ID");//Text = EQUIP_ID;
LBLLINECODE.DataBindings.Add("Text", ds, "LINE_CODE");//Text = LINE_CODE;
LBLPRINTER.Text = user.USER_NM;
LBLPRINTDATE.Text = DateTime.Now.ToString("yyyy-MM-dd hh:MM:ss");
//--------------------条形码-------------------
xrBarCode1.DataBindings.Add("Text", ds, "REEL_NO");
xrBarCode4.DataBindings.Add("Text", ds, "LINE_CODE_EQUIP_ID");//Text = "CHN" + LINE_CODE + EQUIP_ID;
xrBarCode3.DataBindings.Add("Text", ds, "PGM_ID");
#endregion DetailReport1.DataSource = ds;
DetailReport1.DataMember = "R1"; LBLSLOT.DataBindings.Add("Text", ds, "R1.SLOT");
LBLMATERIAL_CODE.DataBindings.Add("Text", ds, "R1.MATERIAL_CODE");
LBLDESCRIPTION.DataBindings.Add("Text", ds, "R1.DESCRIPTION");
LBLSTORAGED_LOC.DataBindings.Add("Text", ds, "R1.STORAGED_LOC");
LBLUNIT_QTY.DataBindings.Add("Text", ds, "R1.UNIT_QTY");
LBLFEEDER.DataBindings.Add("Text", ds, "R1.FEEDER_NM");
LBLLOCATION.DataBindings.Add("Text", ds, "R1.MNTNG_LOC_DESC");
//------------------条形码-----------------
xrBarCode2.DataBindings.Add("Text", ds, "R1.BARCODE");
//在页脚之后设置分页符
GroupFooter2.PageBreak = PageBreak.AfterBand;
}

  

devexpress XtraReport报表 ---主从报表的更多相关文章

  1. Devexpress Xtrareport 创建主从报表

    效果 xtrareport 布局 From 代码 private DataSet Getdata() { DataSet ds = new DataSet(); //config配置字符串 strin ...

  2. [原创]Devexpress XtraReports 系列 3 创建主从报表

    昨天写了系列的第二篇Devexpress XtraReports 系列 2 创建表格报表 . 今天我们来继续系列 3 创建主从报表 首先我们来看看最后实现的效果.Demo最后附上. 开始吧. 第一步, ...

  3. Devexpress Xtrareport 并排报表

    什么是并排报表呢? 按照我个人理解:并排报表是把两张或者两张以上的报表,放在一个报表页面. 注:为了方便,本示例使用同一个数据源,但是您可以使用相同的方法,而在一个报表文档中显示两个完全不同的 (使用 ...

  4. Devexpress Xtrareport 打印报表

    需要引用 Using Devexpress.Xtrareport.UI: Using Devexpress.XtraPrinting.Localiztion 实例化报表,xtrareport my=n ...

  5. RDLC 主从报表筛选

    今天继续学习RDLC报表的“参数传递”及“主从报表” 一.先创建DataSet,如下图: 二.创建一个报表rptDEPT.rdlc,显示部门T_DPET的数据 三.嵌入Default.aspx中,写在 ...

  6. RDLC报表的相关技巧二(主从报表)

    为了广泛支持客户端,系统框架运行在.Net Framework 4.0之上,Report viewer的版本也限制在11.0.3366.16. 使用NUGET安装Microsoft.ReportVie ...

  7. [转]"RDLC"报表-参数传递及主从报表

    本文转自:http://www.cnblogs.com/yjmyzz/archive/2011/09/19/2180940.html 今天继续学习RDLC报表的“参数传递”及“主从报表” 一.先创建D ...

  8. 在网页中编辑报表的报表设计器Stimulsoft Reports Designer.Web报表控件

    Stimulsoft Reports Designer.Web报表控件是一款网页报表设计器.您想在网页中编辑您的报表吗?现在是可能的! Stimulsoft Reports Designer.Web ...

  9. highcharts js报表工具(报表插件)

    highcharts报表工具(报表插件.图表工具) highcharts效果在线演示(可查看源代码):  http://www.hcharts.cn/demo/index.php?p=56 Highc ...

随机推荐

  1. StaticBox布局管理器

    wx.StaticBoxSizer构造方法如下: wx.StaticBoxSizer(box,orient = HORIZONTAL) box 是静态框对象,orient参数是布局方向  wx.HOR ...

  2. 用Python实现基于Hadoop Stream的mapreduce任务

    用Python实现基于Hadoop Stream的mapreduce任务 因为Hadoop Stream的存在,使得任何支持读写标准数据流的编程语言实现map和reduce操作成为了可能. 为了方便测 ...

  3. Windows7下打开特定的端口

    往往我们发布到IIS的网站多了,80的端口不能满足的情况下,我们就会想到设定其它端口来使用.当然还可以通过改变host文件来实现,这里就不细说了.回到端口,在windows7系统下怎么实现呢?下面将带 ...

  4. ASP.NET——实现两个下拉框动态联动

    引入: 在网页中,我们经常会遇到下图中的情况.首先在下拉框中选择所在的省,选择之后,第二个下拉框会自动加载出该省中的市.这样设计极大的方便了用户的查找.那这是如何实现的呢? 1.建立数据库 " ...

  5. PHP面向对象关键词static 、self

    知识点: 一.static可以修饰类内的属性或方法,被修饰的属性或方法在类外部,不能被实例化成对象访问,而是使用类本身进行访问,而静态的方法如果想使用静态的属性,则需要用self::这样的写法来访问静 ...

  6. mac 安装 nodeJs&npm 配置

    前言:继续安装 nodeJS 下载安装:直接去官网,点击安装即可. 命令式安装: 1. 安装 homebrew 2. 安装 nodeJS,使用命令:brew install node 3. 测试 no ...

  7. 消耗战(bzoj 2286)

    Description 在一场战争中,战场由n个岛屿和n-1个桥梁组成,保证每两个岛屿间有且仅有一条路径可达.现在,我军已经侦查到敌军的总部在编号为1的岛屿,而且他们已经没有足够多的能源维系战斗,我军 ...

  8. 使用QML创建界面(转)

    原文转自 https://blog.csdn.net/rl529014/article/details/51378307 在Qt编程中,我们可以使用纯C++代码,或C++和XML结合的方式来创建GUI ...

  9. 如何通过友盟分析发布后App崩溃日志

    http://blog.csdn.net/totogo2010/article/details/39892467 要分析崩溃日志,首先需要保留发布时的编译出来的.xcarchive文件.这个文件包含了 ...

  10. penGL入门学习(六)

    http://blog.csdn.net/sun6255028/article/details/5090067 今天要讲的是动画制作——可能是各位都很喜欢的.除了讲授知识外,我们还会让昨天那个“太阳. ...