我正在构建一个基于Web(ASP .NET)的应用程序来显示Crystal Reports。报告本身已经在Crystal Reports XI中构建,我在Visual Studio 2010中工作。它正在工作,但报告左侧可见的参数面板是空白的,例如。它不显示任何参数,即使报告中包含少量参数,并且在生成报告之前提示用户输入其值。我发现一些信息可能是由用于生成这些报告的旧版Crystal Reports(XI)引起的,实际上,用Visual Studio 2010编写的测试报告正确显示了其参数。
我的问题是:如何在不重写报告的情况下使其工作?我尝试在Visual Studio中打开现有报告并保存它,它给了我一个警告,即报告的当前版本比上一版本更新,但它没有解决问题。有任何想法吗?
答案 0 :(得分: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;
答案 1 :(得分:0)
如果报告是在先前版本中设计的,则参数VALUE OPTIONS“Show on(Viewer)Panel”设置为“Do not Show”;这就是为什么参数没有显示在面板中。解决这个问题。 只需编辑每个参数并相应地设置此属性 1.不要显示 2.可编辑 3.只读
答案 2 :(得分:0)
我可以使用以下代码在运行时禁止参数面板:
crViewer.ToolPanelView = ToolPanelViewType.None;
希望让别人不要浪费一个小时: - )
答案 3 :(得分:-1)
我似乎找到了解决这个问题的方法(尽管它并不理想)。基本上,在Crystal Reports =>通过右键单击参数字段2008或Crystal Reports for Visual Studio,我们可以选择编辑,然后选择'在(查看器)面板上显示'选项(Crystal Reports XI中不可用)。将其设置为“可编辑”或“只读”将在参数面板中显示此参数(默认为“不显示”)。如果有人有更好的想法(比编辑所有报告更好),那么我将不胜感激。