1. 程式人生 > >devexpress XtraReport報表 ---主從報表

devexpress XtraReport報表 ---主從報表

tar nec eve col inf field script oca and

技術分享

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報表 ---主從報表