1  /  1  页   1 跳转 查看:2685

[技术文档] 报表钻取后问题

报表钻取后问题

报表钻取后,然后出下述错误。


[img]file:///C:/新建位图图像.bmp[/img]









using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Sinopec.EAI.ReportGetRpt;
public partial class ReportGZSHEAI_ERP_ERP_HTQKB : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //  this.lblReportName.Text = Request.QueryString["reportName"].ToString();
        string reportKind = "";
        if (!IsPostBack)
        {
            this.startTime.SelectedDate = DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString("0#") + "-01";
            if (DateTime.Parse(startTime.SelectedDate) == DateTime.Today)
            {
                this.endTime.SelectedDate = DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString("0#") + "-01";
            }
            else
            {
                this.endTime.SelectedDate = DateTime.Today.AddDays(-1).ToString("yyyy-MM-dd");
            }
            //初始化外部物料组
            string strWbwlz = "SELECT DISTINCT ARKTX,matnr FROM BTS_ERP_ZHTQK";
            DBDataSource db = new DBDataSource();
            DataTable dt = new DataTable();
            dt = db.GetDateTable(strWbwlz);
            this.ddlWbwlz.DataSource = dt;
            this.ddlWbwlz.DataTextField = "ARKTX";
            this.ddlWbwlz.DataValueField = "ARKTX";
            this.ddlWbwlz.DataBind();
            ListItem item = new ListItem();
            item.Text = "全部";
            item.Value = "";
            this.ddlWbwlz.Items.Insert(0, item);
            // reportKind = Request.QueryString["reportKind"].ToString();
            reportKind = "ERP_HTQKB";
            ConfigReportServer(reportKind);
            QueryCmd();
        }
    }
    /// <summary>
    /// 用来完成报表钻取后返回第一个报表的函数
    /// </summary>
    private void GetBack()
    {
        if (reportViewDes.ServerReport.IsDrillthroughReport)
        {
            reportViewDes.PerformBack();
            GetBack();
        }
    }
    /// <summary>
    /// 配置报表服务
    /// </summary>
    private void ConfigReportServer(string reportKind)
    {
        // Set the processing mode for the ReportViewer to Remote  取门户域名地址或报表管理器的服务器地址
        reportViewDes.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Remote;
        Microsoft.Reporting.WebForms.ServerReport serverReport = reportViewDes.ServerReport;
        string reportingServer = "";
        string uriString = "";
        reportingServer = System.Configuration.ConfigurationManager.AppSettings["ReportServer"];
        string reportFolder = "";
        string isMoss = "";
        isMoss = System.Configuration.ConfigurationManager.AppSettings["IsMoss"];//
        reportFolder = System.Configuration.ConfigurationManager.AppSettings["ReportFolder"];//文档库地址或报表管理器的文件夹名称
        uriString = "http://" + reportingServer + "/reportserver";//拼服务器地址

        //设置报表服务
        serverReport.ReportServerUrl = new Uri(uriString);
        if (isMoss == "0")
        {
            serverReport.ReportPath = reportFolder + reportKind;
        }
        else
        {
            serverReport.ReportPath = reportFolder + reportKind + ".rdl";
        }
    }
    /// <summary>
    /// 设置报表参数并且开始查询
    /// </summary>
    private void QueryCmd()
    {
        string strStartTime = "";
        string strEndTime = "";
        string strArktx = "";
       

        try
        {
            strStartTime = this.startTime.SelectedDate; ;
            strEndTime = this.endTime.SelectedDate;
            strArktx = this.ddlWbwlz.SelectedValue;
            //设置参数
            Microsoft.Reporting.WebForms.ReportParameter startTime = new Microsoft.Reporting.WebForms.ReportParameter();
            startTime.Name = "guebg";
            startTime.Values.Add(strStartTime);
            // Set the report parameters for the report
            reportViewDes.ServerReport.SetParameters(
                new Microsoft.Reporting.WebForms.ReportParameter[] { startTime });
            // Create the sales order number report parameter
            Microsoft.Reporting.WebForms.ReportParameter endTime = new Microsoft.Reporting.WebForms.ReportParameter();
            endTime.Name = "bstdk";
            endTime.Values.Add(strEndTime);
            // Set the report parameters for the report
            reportViewDes.ServerReport.SetParameters(
                new Microsoft.Reporting.WebForms.ReportParameter[] { endTime });

            // Create the sales order number report parameter
            Microsoft.Reporting.WebForms.ReportParameter Arktx = new Microsoft.Reporting.WebForms.ReportParameter();
            Arktx.Name = "arktx";
            Arktx.Values.Add(strArktx);
            // Set the report parameters for the report
            reportViewDes.ServerReport.SetParameters(
                new Microsoft.Reporting.WebForms.ReportParameter[] { Arktx });


        }
        catch (Exception ex)
        {
            lblError.Text = ex.Message;
        }
    }


    protected void btnSearch_Click(object sender, EventArgs e)
    {
        //绑定报表前,先判断是否发生钻取
        GetBack();
        QueryCmd();

    }
}
 

回复:报表钻取后问题

》/...........................晕呀,













恶汉
 
1  /  1  页   1 跳转

版权所有 微软BI开拓者 

Powered by Discuz!NT 2.1.202    Copyright © 2001-2012 Comsenz Inc.
Processed in 0.2500096 second(s) , 7 queries.
返顶部