0

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

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

参数面板

4

4 回答 4

0

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

您将需要枚举 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;
于 2012-07-25T13:29:10.337 回答
0

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

于 2013-06-07T05:18:34.897 回答
0

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

crViewer.ToolPanelView = ToolPanelViewType.None;

希望能防止别人在这上面浪费一个小时:-)

于 2014-02-25T17:35:30.407 回答
-1

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

于 2012-07-25T11:02:48.683 回答