【问题标题】:Crystal Report error Missing parameter values when move to next pageCrystal Report错误移动到下一页时缺少参数值
【发布时间】:2012-05-19 09:30:03
【问题描述】:

我的 Crystal 报表在第一页中运行良好,但当我单击下一页按钮时,报表无法加载并出现缺少参数值错误。谁能帮我解决这个问题。

我目前的编码如下。

protected void ddlStudent_SelectedIndexChanged(object sender, EventArgs e)
{

        GenerateReport();

}

protected void GenerateReport()
{
    //Create report document
    ReportDocument crystalReport = new ReportDocument();

    //Load crystal report made in design view
    crystalReport.Load(Server.MapPath("Reports/PhotoGallery.rpt"));

    //Set DataBase Login Info
    crystalReport.SetDatabaseLogon("root", "pwd", @"localhost", "nsis");

    //Provide parameter values
    crystalReport.SetParameterValue("adno", adNo);

    crvReportViewer.ReportSource = crystalReport;

}

【问题讨论】:

  • “adno”从何而来?在代码中的任何地方都看不到它。
  • 它是从下拉列表索引更改事件中设置的,我重新检查了它。参数传递正确。另外,报告在第一页中加载得很好。当我移动到第二页时会发生错误。

标签: asp.net mysql parameters crystal-reports


【解决方案1】:

我认为你需要调用 GenerateReport();页面加载中的方法以及尝试关注

 protected void ddlStudent_SelectedIndexChanged(object sender, EventArgs e)
        {

            GenerateReport();
            ViewState["ReportLoad"] = "Load";
        }

  protected void Page_Load(object sender, EventArgs e)
        {
            if (ViewState["ReportLoad"] != null)
            {
                GenerateReport();
            }
        }

【讨论】:

  • 我解决了这个问题。我所做的是将这种代码添加到水晶报表查看器的导航事件中。 objDiscreteValue = new ParameterDiscreteValue(); objDiscreteValue.Value = adnumber; objParameterField = CrystalReportViewer1.ParameterFieldInfo["adno"]; objParameterField.CurrentValues.Add(objDiscreteValue); CrystalReportViewer1.ParameterFieldInfo.Add(objParameterField);非常感谢所有试图帮助我的人:)
猜你喜欢
  • 2011-02-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多