【问题标题】:Blank Parameter Panel in Crystal Reports ViewerCrystal Reports 查看器中的空白参数面板
【发布时间】:2016-04-20 07:03:52
【问题描述】:

我正在构建一个基于 Web (ASP .NET) 的应用程序来显示 Crystal Reports。报表本身是在 Crystal Reports XI 中构建的,我在 Visual Studio 2010 中工作。它正在工作,但报表左侧可见的参数面板是空白的,例如。即使报告有一些参数,它也不显示任何参数,并且在生成报告之前提示用户输入它们的值。我发现了一些信息,这可能是由用于生成这些报告的旧版本 Crystal Reports (XI) 引起的,实际上,用 Visual Studio 2010 编写的测试报告的参数显示正确。

我的问题是:如何在不再次重写报告的情况下使其正常工作?我试图在 Visual Studio 中打开一个现有报表并保存它,它给了我一个警告,即当前版本的报表比以前的版本更新,但它并没有解决问题。有任何想法吗?

【问题讨论】:

  • 请把当时的情况发一张照片好吗?
  • 好的,刚刚添加了一张图片。如果您阅读了我对这个问题的回答,您会注意到我找到了解决这个问题的方法,虽然并不完美,但它确实有效。我当前的问题是:是否可以使用 Crystal Reports 的 .NET API 编辑参数字段“在(查看器)面板上显示”而不是在 Designer 中执行此操作(如果可以,我可以简单地编写一个代码来遍历所有字段并更改他们的属性)?我在文档中搜索过,但找不到任何相关内容。

标签: visual-studio-2010 crystal-reports crystal-reports-xi


【解决方案1】:

您可以通过编程方式更改每个参数的面板设置。

您需要枚举 ParameterFields 集合,更改每个参数的 ParameterFieldUsage2 属性:

string fileName = null;

ReportDocument reportDocument = new ReportDocument();
reportDocument.Load(fileName, CrystalDecisions.Shared.OpenReportMethod.OpenReportByDefault);

foreach (CrystalDecisions.Shared.ParameterField parameterField in reportDocument.ParameterFields)
{
  parameterField.ParameterFieldUsage2 = ParameterFieldUsage2.ShowOnPanel;
}

CrystalReportViewer1.ReportSource = reportDocument;

【讨论】:

  • 谢谢,我应该把这段代码放在哪里?我尝试在不同的地方将它添加到我的 Default.aspx.cs 文件中,但不幸的是它似乎不起作用。
  • 我使用的是 c#,所以我的代码略有不同,但我无法让它工作:ParameterFields fields = rptDoc.ParameterFields;参数字段 f = 字段 [0]; f.ParameterFieldUsage2.ShowOnPanel;
  • 我在尝试此代码时收到以下错误:错误 2 属性或索引器“CrystalDecisions.CrystalReports.Engine.ParameterFieldDefinition.ParameterFieldUsage2”无法分配给 - 它是只读的
  • 感谢 craig,但这次仍然出现错误:System.NotSupportedException:不支持。在这行代码中:parameterField.ParameterFieldUsage2 = ParameterFieldUsage2.ShowOnPanel;
【解决方案2】:

如果报告是在以前的版本中设计的,参数VALUE OPTIONS“在(查看器)面板上显示”设置为“不显示”;这就是为什么参数没有显示在面板中的原因。解决这个问题。 只需编辑每个参数并相应地设置此属性 1. 不显示 2. 可编辑 3. 只读

【讨论】:

    【解决方案3】:

    我能够使用此代码在运行时抑制参数面板:

    crViewer.ToolPanelView = ToolPanelViewType.None;
    

    希望不要让别人在这上面浪费一个小时:-)

    【讨论】:

      【解决方案4】:

      我似乎找到了解决这个问题的方法(尽管它并不理想)。基本上,在 Crystal Reports => 2008 或 Crystal Reports for Visual Studio 中,通过右键单击参数字段,我们可以选择编辑,然后选择“在(查看器)面板上显示”选项(在 Crystal Reports XI 中不可用)。将此设置为可编辑或只读将在参数面板中显示此参数(默认为“不显示”)。如果有人有更好的想法(比编辑所有报告更好),我将不胜感激。

      【讨论】:

        猜你喜欢
        • 2012-04-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-12
        相关资源
        最近更新 更多