Crystal reports 如何使用Business Objects SDK将空值传递给Business Objects报表中的可选参数?

Crystal reports 如何使用Business Objects SDK将空值传递给Business Objects报表中的可选参数?,crystal-reports,business-objects,business-objects-sdk,Crystal Reports,Business Objects,Business Objects Sdk,我正在构建一个web前端,用于使用.NET的Business Objects SDK访问Business Objects报告。我已经能够通过稀疏的文档和在线论坛帖子,轻松满足95%的业务需求。我的最后一个障碍是如何使用参数化报告。在我们的业务中,报表有两个参数,而最终用户只需要填充其中一个参数。收集和清理这些数据非常容易,但无论我如何尝试将空值参数传递给报表,都不会返回任何数据。如果两个参数都被填充,我就得到了预期的数据。在VisualStudio中单步执行代码时,我看到每当BusinessOb

我正在构建一个web前端,用于使用.NET的Business Objects SDK访问Business Objects报告。我已经能够通过稀疏的文档和在线论坛帖子,轻松满足95%的业务需求。我的最后一个障碍是如何使用参数化报告。在我们的业务中,报表有两个参数,而最终用户只需要填充其中一个参数。收集和清理这些数据非常容易,但无论我如何尝试将空值参数传递给报表,都不会返回任何数据。如果两个参数都被填充,我就得到了预期的数据。在VisualStudio中单步执行代码时,我看到每当BusinessObjects返回空值参数时,它都显示为空字符串(“”)。我尝试过将其作为参数值传递,也尝试过为参数赋值为null。一旦计划并运行报告,这两个选项都不会返回结果。下面是我的参数赋值代码示例,使用了我所采用的每种方法(我们需要检查字符串值“null”,因为用户请求输入“null”并将其传递给报表)。所有这些都不会生成包含数据的报表

sVal.Value = param.ParameterValue != "null" ? param.ParameterValue : String.Empty; 
sVal.Value = param.ParameterValue != "null" ? param.ParameterValue : "";
sVal.Value = param.ParameterValue != "null" ? param.ParameterValue : null;
企业服务器是否使用特定的值来指示null,例如日期必须包装在Date()中

编辑:我需要复制的功能,如InfoView所示:

在Web Intelligence中,默认情况下需要所有提示,您必须通过SDK为其提供值。至于业务对象席RXR3,实际上可以将报表中的提示配置为可选的。此配置由报表编写器完成。如果提示是可选的,则可以选择在使用SDK时不设置提示值


具有可选提示的另一种方法是使提示“匹配模式”,或者如果是日期,则计算默认值。当提示是可选的并且是“在列表中”时,您可以将值设置为“%”,而对于日期,则设置默认值。

感谢您的建议34-也许我应该澄清一下-在我的特定用例中,参数是否可选并不重要。我的具体问题是,当传递一个参数时,我不能给它一个null值并让报告返回结果。i、 e.如果报告有两个参数“foo”和“bar”,我需要能够传入foo=“value”和bar=“null”。在InfoView中,用户可以选择将任意一个值设置为null,并返回非null值的所有结果。如果我通过sdk将其中一个参数设置为null,则无论我的上述各种“null”样式如何,报告都会返回空。我已经从InfoView添加了一个屏幕截图,演示了我需要复制的功能。好吧,我同意我的回答没有任何帮助。我从未见过“设置为空”选项。我对你想要实现的东西做了一个错误的假设。这份报告是网络情报还是水晶报告?如果是Crystal添加该标记可能有助于找到答案。该报告是Crystal报告-我将尝试添加该标记。谢谢您是否碰巧使用了Oracle存储过程?