C# 网页中用ReportViewer呈现rdlc报表

    protected void Page_Load(object sender, EventArgs e)
    {
        this.starttime = Session["starttime"].ToString();  //开始时间
        this.endtime = Session["endtime"].ToString();   //结束时间
        this.title = Session["title"].ToString();    //报表在数据库中的constname
        this.titlename = Session["titlename"].ToString();  //报表的名字
        this.time = Session["timeshare"].ToString();  //分时名称
        this.language = Session["language"].ToString();  //语言

        if (this.title != "ReportTimeshareManpowerTable")
        {
            this.timetitle = this.title;
        }
        else
        {
            this.timetitle = this.time.Substring(0, 2) + this.title;   //选择显示报表时的参数                       
        }


        this.ReportViewer1.Dispose();
        ReportDataSource rds = new ReportDataSource();
        switch (timetitle)  //选择要呈现的报表
        {
            case "ReportShiftManpowerTable":
                this.ReportViewer1.LocalReport.ReportPath = "ShiftManpower.rdlc";
                //ReportDataSource rds = new ReportDataSource();
                rds.DataSourceId = "ObjectDataSource1";
                rds.Name = "DataSet1_Fun_ShiftManpower";
                this.reporttitle = this.titlename;
                break;
            case "15ReportTimeshareManpowerTable":
                this.ReportViewer1.LocalReport.ReportPath = "TimeShareManpower15.rdlc";
                //ReportDataSource rds = new ReportDataSource();
                rds.DataSourceId = "ObjectDataSource2";
                rds.Name = "DataSet2_Fun_TimeShareManpower";
                switch (this.language)
                {
                    case "1": this.reporttitle = this.time + "钟" + this.titlename; break;
                    case "2": this.reporttitle = this.time + "鈡" + this.titlename; break;
                    case "3": this.reporttitle = this.time + this.titlename; break;
                }
                break;
            case "30ReportTimeshareManpowerTable":
                this.ReportViewer1.LocalReport.ReportPath = "TimeShareManpower30.rdlc";
                //ReportDataSource rds = new ReportDataSource();
                rds.DataSourceId = "ObjectDataSource3";
                rds.Name = "DataSet3_Fun_TimeShareManpower30";
                switch (this.language)
                {
                    case "1": this.reporttitle = this.time + "钟" + this.titlename; break;
                    case "2": this.reporttitle = this.time + "鈡" + this.titlename; break;
                    case "3": this.reporttitle = this.time + this.titlename; break;
                }
                break;
            case "60ReportTimeshareManpowerTable":
                this.ReportViewer1.LocalReport.ReportPath = "TimeShareManpower60.rdlc";
                //ReportDataSource rds = new ReportDataSource();
                rds.DataSourceId = "ObjectDataSource4";
                rds.Name = "DataSet4_Fun_TimeShareManpower60";
                switch (this.language)
                {
                    case "1": this.reporttitle = this.time + "钟" + this.titlename; break;
                    case "2": this.reporttitle = this.time + "鈡" + this.titlename; break;
                    case "3": this.reporttitle = this.time + this.titlename; break;
                }
                break;
        }

        this.ReportViewer1.LocalReport.DataSources.Add(rds);

//给报表传参数-------------------------------------------------------

        ReportParameter[] rp = new ReportParameter[3];  
        rp[0] = new ReportParameter("starttime", this.starttime);
        rp[1] = new ReportParameter("endtime", this.endtime);
        rp[2] = new ReportParameter("title", this.reporttitle);

        this.ReportViewer1.LocalReport.SetParameters(rp);
//给报表传参数-------------------------------------------------------                
    }

    protected void ObjectDataSource1_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
    {  //从网页中给Object数据源传参数
        e.InputParameters["starttime"] = this.starttime;
        e.InputParameters["endtime"] = this.endtime;
    }

    protected void ObjectDataSource2_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
    {   //从网页中给Object数据源传参数
        e.InputParameters["starttime"] = this.starttime;
        e.InputParameters["endtime"] = this.endtime;
    }

    protected void ObjectDataSource3_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
    {   //从网页中给Object数据源传参数
        e.InputParameters["starttime"] = this.starttime;
        e.InputParameters["endtime"] = this.endtime;
    }

    protected void ObjectDataSource4_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
    {   //从网页中给Object数据源传参数
        e.InputParameters["starttime"] = this.starttime;
        e.InputParameters["endtime"] = this.endtime;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值