2021-06-11

      C# FastReport 报表数据参数的传递

方法一:用C#先生成数据然后再显示报表(报表也得是表名为YLRKMESS

1 c#先获取数据

DataSet dtColMess = new DataSet();

String  BL_PZH=” RYL2101000004”

System.Data.DataTable dt = DBConn.GetSqlData("select a.*,b.DH,b.G_DDH,b.YLCD,b.CGY,b.d_ckmc,b.BZ as zbz,B.D_JC AS D_JC from R_YLRK A LEFT JOIN Z_YLRKZD B ON A.G_PZH=B.G_PZH  WHERE  B.G_PZH =' " + this.BL_PZH  + "'");

dt.TableName = "YLRKMESS";

dtColMess.Tables.Add(dt);

2:设计好报表,然后加上后面的代码

this.FReport = new FastReport.Report();

  this.environmentSettings1 = new FastReport.EnvironmentSettings();

 string file = System.Windows.Forms.Application.StartupPath;

            file += "\\Reports\\Test.frx";

            if (File.Exists(file) == false)

            {

                //File.Create(sPath);//创建文件

               MessageBox.Show("报表文件不存在,请与管理员联系);

                return;

            }

            #region 增加报表变量

       

            this.FReport.Load(file);

             his.environmentSettings1.DesignerSettings.Restrictions.DontCreateData = true;

            this.environmentSettings1.DesignerSettings.Restrictions.DontEditData = true;

            string textBarcode = "张三";

            TextObject pTextPrint = this.FReport.FindObject("TextPrintTime") as TextObject;

            (this.FReport.FindObject("TextPrintTime") as TextObject).Text = textBarcode;

            pTextPrint.Text = "打印人:"+ textBarcode;

            #endregion

                 //this.FReport.RegisterData(dtyllist, "R_YLRK");

            //this.FReport.RegisterData(dtSaveMess, "Z_YLRKZD");

 

            this.FReport.RegisterData(dtColMess);//此法为向报表加数据

            this.FReport.GetDataSource("YLRKMESS").Enabled = true;

            if (this.chkPrint1.Checked)

            {

                this.FReport.Show();//预览

                this.FReport.Dispose();//释放报表变量

            }

            else

            {

                this.FReport.PrintSettings.ShowDialog = false;//不显示对话框

                this.FReport.Print();//直接打印

                this.FReport.Dispose();//释放报表变量

            }

            return;

            //}

 

               #endregion

            //}

            //report1.Load("Reports/Test.frx");

            //report1.RegisterData(dtyllist, "Data");

            //report1.RegisterData(dtSaveMess, "TestDb123");

            //report1.PrintSettings.ShowDialog = false;

            //report1.Print();

            //report1.Preview = previewControl1;//指定预览的窗口

 

 

        }

 

  

方法二:此种方法为向报表传参的方法(此法要在报表中的数据环境中

select a.*,b.DH,b.G_DDH,b.YLCD,b.CGY,b.d_ckmc,b.BZ as zbz,B.D_JC AS D_JC from R_YLRK A LEFT JOIN Z_YLRKZD B ON A.G_PZH=B.G_PZH  WHERE  B.G_PZH =@BL_PZH)

        

              

            this.FReport = new FastReport.Report();

            this.environmentSettings1 = new FastReport.EnvironmentSettings();

            string file = System.Windows.Forms.Application.StartupPath;

                file += "\\Reports\\Test.frx";

            if (File.Exists(file) == false)

            {

                //File.Create(sPath);//创建文件

               MessageBox.Show("报表文件不存在,请与管理员联系);

                return;

            }

          

            #region 增加报表变量

            this.FReport.Load(file);

            this.FReport.SetParameterValue("BL_PZH", "RYL2101000004");//这是要传入的参数,要放在LOD后面

            this.environmentSettings1.DesignerSettings.Restrictions.DontCreateData = true;

            this.environmentSettings1.DesignerSettings.Restrictions.DontEditData = true;

         

            string textBarcode = "张三";

            TextObject pTextPrint = this.FReport.FindObject("TextPrintTime") as TextObject;

            (this.FReport.FindObject("TextPrintTime") as TextObject).Text = textBarcode;

            pTextPrint.Text = "打印人:"+ textBarcode;

            #endregion

 

            this.FReport.RegisterData("YLRKMESS");

            this.FReport.GetDataSource("YLRKMESS").Enabled = true;

            if (this.chkPrint1.Checked)

            {

                this.FReport.Show();

                this.FReport.Dispose();

            }

            else

            {

                this.FReport.PrintSettings.ShowDialog = false;

                this.FReport.Print();

                this.FReport.Dispose();

            }

            return;

            //}

 

               #endregion

            //}

            //report1.Load("Reports/Test.frx");

            //report1.RegisterData(dtyllist, "Data");

            //report1.RegisterData(dtSaveMess, "TestDb123");

            //report1.PrintSettings.ShowDialog = false;

            //report1.Print();

            //report1.Preview = previewControl1;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值