分享

RDLC 子报表实例

 kingjae 2014-09-06
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.Reporting.WebForms;
using System.Data;
public partial class report : System.Web.UI.Page
{
    DataSet dsSale = new DataSet();
    DataSet dsFittings = new DataSet();
    string saleid = "";
    protected void Page_Load(object sender, EventArgs e)
    {
        string str1 = "select top 100 * from tbSale ";
        dsSale = clsPublic.GetDS(str1);
      
        if (!IsPostBack)
        {
                     ReportViewer1.LocalReport.SubreportProcessing +=new SubreportProcessingEventHandler(LocalReport_SubreportProcessing);//如果没有这个会报子报表无法显示的错误
            ReportViewer1.LocalReport.ReportEmbeddedResource = "Customerservicerecordsystem.report1.rdlc";
            ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", dsSale.Tables[0]));
            ReportViewer1.LocalReport.Refresh();
           
        }
       
       
    }
     void LocalReport_SubreportProcessing(object sender, Microsoft.Reporting.WebForms.SubreportProcessingEventArgs e)
    {
        saleid = e.Parameters["saleid"].Values[0];//子报表加载数据源前筛选数据,否则会特别慢
        string str = "select * from tbFittings where SaleID=" + saleid;
        dsFittings = clsPublic.GetDS(str);
        e.DataSources.Add(new ReportDataSource("DataSet2", dsFittings.Tables[0]));
       
    }
   } 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多