masterfy

 

关于XtraReport报表分组

现在有个报表是要显示物资目录明细

要按物资品种(即分类的意思)来显示对应的物资。

01001010
010010100001
01002010
010020100001
010020100002
010020100003
010020100004

……

 


RPTWZMLMXBBMaster:物资目录明细报表分组主表窗口

界面上Detail中放置主表显示内容的表格,再插入一个Subreport,在属性面板将其ReportSource属性设为子表的类名称,将产生一个实例名:rptwzmlmxb1


  /// <summary>
        /// 打印前加载事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void RPTWZMLMXBBMaster_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
        {
            string strSQL = "select * from wzpz where length(cwzpzbh)=8 order by cwzpzbh";
            DB2Command db2Cmd = new DB2Command(strSQL, new DB2Connection(pModel.ConnectionString));
            DB2DataAdapter db2Da = new DB2DataAdapter();
            db2Da.SelectCommand = db2Cmd;
            DataSet ds = new DataSet();
            db2Da.Fill(ds);
            this.DataMember = TABLE_WZPZ.NAME;
            this.DataSource = ds;
            this.xrTableCell8.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { new DevExpress.XtraReports.UI.XRBinding("Text", ds, TABLE_WZPZ.COLUMN_CWZPZBH) });
            this.xrTableCell4.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { new DevExpress.XtraReports.UI.XRBinding("Text", ds, TABLE_WZPZ.COLUMN_CWZPZMC) });

            xrLabel3.Text = DateTime.Now.ToString();
        }


        /// <summary>
        /// Detail加载事件,加载一行,向子表传递一次参数
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Detail_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
        {
            RPTWZMLMXB subRPT = subreport1.ReportSource as RPTWZMLMXB;
            subRPT.GetParameters(Convert.ToInt32(GetCurrentColumnValue(TABLE_WZPZ.COLUMN_IID)));//字段名区分大小写
        }


RPTWZMLMXB:物资目录明细表(子表)窗口

子表界面只保留Detail,放置显示内容的表格


        /// <summary>
        /// 接收主分组表参数,绑定数据
        /// </summary>
        /// <param name="IWZPZID"></param>
        public void GetParameters(int IWZPZID)
        {
            string strSQL = "select * from wz where ispbz=2 and iwzpzid=" + IWZPZID;
            DB2Command db2Cmd = new DB2Command(strSQL, new DB2Connection(pModel.ConnectionString));
            DB2DataAdapter db2Da = new DB2DataAdapter();
            db2Da.SelectCommand = db2Cmd;
            DataSet ds = new DataSet();
            db2Da.Fill(ds);
            this.DataMember = TABLE_WZ.NAME;
            this.DataSource = ds;

            this.xrTableCell2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { new DevExpress.XtraReports.UI.XRBinding("Text", ds, TABLE_WZ.COLUMN_CWZBH) });
            this.xrTableCell7.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { new DevExpress.XtraReports.UI.XRBinding("Text", ds, TABLE_WZ.COLUMN_CWZMC) });
            this.xrTableCell8.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { new DevExpress.XtraReports.UI.XRBinding("Text", ds, TABLE_WZ.COLUMN_CXHGG) });
            this.xrTableCell9.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { new DevExpress.XtraReports.UI.XRBinding("Text", ds, TABLE_WZ.COLUMN_CTH) });
            this.xrTableCell10.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { new DevExpress.XtraReports.UI.XRBinding("Text", ds, TABLE_WZ.COLUMN_CCZ) });
            this.xrTableCell12.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { new DevExpress.XtraReports.UI.XRBinding("Text", ds, TABLE_WZ.COLUMN_CJLDW) });
        } 

posted on 2007-04-30 01:05  masterfy  阅读(1678)  评论(0编辑  收藏  举报

导航