导航下一页时,Crystal Report Viewer提示数据库登录失败

时间:2019-04-02 04:59:56

标签: c# asp.net crystal-reports

我试图通过在下拉列表中选择值来预览Crystal报表。它可以显示第一页,没有任何问题。但是,当我尝试按“下一页”按钮/键入页数时,它将提示“数据库登录失败”错误。

我尝试在Google上搜索有关此问题的信息,但仍然无法解决该问题。我已经经历过与此问题类似的很少线程,但仍然无济于事。

我插入了这个logOnInfo函数

        public void setLogonInfo()
        {
            TableLogOnInfo logOnInfo = new TableLogOnInfo();
            logOnInfo.ConnectionInfo.ServerName = "servername";
            logOnInfo.ConnectionInfo.DatabaseName = "databasename";
            logOnInfo.ConnectionInfo.UserID = "user";
            logOnInfo.ConnectionInfo.Password = "pwd";

            TableLogOnInfos infos = new TableLogOnInfos();
            infos.Add(logOnInfo);
            crystalReportViewer.LogOnInfo = infos;
        }

我也有Init()函数

        private void Page_Init(object sender, EventArgs e)
        {
            reportDocument = (ReportDocument)Session["reportDocument"];
            crystalReportViewer.ReportSource = reportDocument;
        }

最后,这是我单击搜索按钮时的显示报告功能

        protected void DisplayReport() // display all value selected
        {
            string customerID = this.ddwn_cust.SelectedValue;
            ReportDocument reportdocument = new ReportDocument();
            reportdocument.Load(Server.MapPath("rptSalesRep.rpt"));
            reportdocument.SetParameterValue("RepID", lblSalesRep.Text);
            reportdocument.SetParameterValue("CustomerID", lblcustomer.Text);
            reportdocument.SetParameterValue("ItemTypeID", txtItemType.Text);
            reportdocument.SetParameterValue("startdate", Convert.ToDateTime(txtStartDate.Text));
            reportdocument.SetParameterValue("enddate", Convert.ToDateTime(txtEndDate.Text));
            crystalReportViewer.ReportSource = reportdocument;
            setLogonInfo();
        }

编辑 至于其中的Page_Load中的回发部分,我尝试了一些想法,但似乎仍然做不到。

protected void Page_Load(object sender, EventArgs e)
        {
             //my code
            if (!IsPostBack){
               if (Session["reportDocument"] != null)
               {
                  reportDocument =(ReportDocument) Session["reportDocument"];
               }
               crystalReportViewer.ReportSource = reportDocument;
               crystalReportViewer.RefreshReport();
               }

但是,我仍然无法进入Crystal Report查看器的下一页。

对这个问题有解决方案吗?

提前谢谢!

0 个答案:

没有答案