• Rdlc子报表的动态添加


    大概注意事项:

    1.确定主报表中子报表的名称与动态加载报表的名称一样
    2.子报表加载数据的事件在加载子报表流的后面
    3.报表要重新Reset并处理过Refresh
    4.eg:
          void BindReport()
          {
                 //动态create报表
                 CreatesubRdlc();

                ReportViewer1.Reset();
                StreamReader mainstream = new StreamReader(Server.MapPath("~/RdlcDoc/" + Request.QueryString["ReportName"].ToString() + ".rdlc"));
                ReportViewer1.LocalReport.LoadReportDefinition(mainstream );
                mainstream .Close();
                StreamReader substream = new StreamReader(Server.MapPath("~/RdlcDoc/" + prerpt + strMenuId + "CommRdlc.rdlc"));
                ReportViewer1.LocalReport.LoadSubreportDefinition("CommRdlc", substream);
                substream.Close();

                //加子报表事件
                ReportViewer1.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(SubreportProcessingEventHandler);

                //开发主报表
                ReportViewer1.LocalReport.DataSources.Clear();
               //加载主表数据
                DataTable dt = ((saveSession)Session["pintQryData"]).dtdata;
                ReportDataSource rds1 = new ReportDataSource("ReportDB", dt);
                ReportViewer1.LocalReport.DataSources.Add(rds1);
                //加参数
                ReportParameter[] inpara = ((saveSession)Session["pintQryData"]).rptParam;
                ReportViewer1.LocalReport.SetParameters(inpara);
                //refresh
                ReportViewer1.LocalReport.Refresh();
               //删除临时产生报表
                System.IO.File.Delete(Server.MapPath(prerpt + strMenuId + "CommRdlc.rdlc"));
        }
        /// <summary>
        /// 为子报表加数据源
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
      void SubreportProcessingEventHandler(object sender, SubreportProcessingEventArgs e)
          {
              DataTable dt = ((saveSession)Session["pintQryData"]).dtdata;
              ReportDataSource rds1 = new ReportDataSource("ReportDB", dt);
              e.DataSources.Add(rds1);
          }

  • 相关阅读:
    python 线性回归(Linear Regression)预测波士顿房价
    python支持向量机分类MNIST数据集
    python朴素贝叶斯分类MNIST数据集
    感知机(perceptron)
    LMS Algorithm 最小均方算法
    线性回归(Linear Regression)和最小二乘法(ordinary least squares)
    KNN实现mnist、fashion mnist数据集的分类
    JavaScript一些常见的知识点
    用js做一个许愿墙
    js做留言板(可以评论 删除评论 评论时间)
  • 原文地址:https://www.cnblogs.com/freeliver54/p/1991258.html
Copyright © 2020-2023  润新知