我正在构建一个 Web 前端,用于使用适用于 .NET 的 Business Objects SDK 访问 Business Objects 报告。借助该主题在线提供的稀疏文档和论坛帖子,我已经能够破解 95% 的业务需求。我最后的障碍集中在使用参数化报告上。我们的业务存在这样一种情况,即报表有两个参数,最终用户只需要填充其中一个参数。收集和清理这些数据很容易,但是无论我如何尝试将空值参数传递给报告,我都没有得到任何数据。如果填充了两个参数,我会得到预期的数据。在 Visual Studio 中单步执行代码时,我看到每当 BusinessObjects 返回一个空值参数时,它都会显示为一个空字符串 ("")。我尝试将其作为参数值传递,并且还尝试为参数分配 null 值。一旦计划和运行报告,这些选项都不会返回结果。我在下面有一个参数分配代码示例,它使用了我采用的每种方法(我们需要检查一个值为“null”的字符串,因为用户请求能够键入“null”并将其传递给报告)。这些都不会生成包含数据的报告。s 已请求能够键入“null”并将其传递给报告)。这些都不会生成包含数据的报告。s 已请求能够键入“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;
Enterprise Server 是否有特定的值用于指示 null,例如日期需要包含在 Date() 中?
编辑:我需要复制的功能,如 InfoView 所示: