c# - 为 Crystal Reports 中的参数分配多个值

标签 c# .net crystal-reports

我在报告中添加了一个参数,并选中了“允许多个值”选项。

这是一个状态列(IE、已提议、进行中、已完成、已取消),我希望用户能够选择报告哪些(以及多少)不同的 OrderStatus。

我通常如何设置参数是:

report.SetParameterValue("@dtBegin", dtBegin.DateTime);

我尝试为多个值做的是这样的:

//pseudo loop
foreach(int intOrderStatus in intSelectedOrderStatuses)
{
    report.Parameter_OrderStatus.CurrentValues.AddValue(intOrderStatus);
}

我检查过它确实将值添加到 OrderStatus 参数,但是当报表运行时,CrystalReports 对话框弹出并要求我输入 OrderStatus 参数的值。所以看起来好像这些值没有“提交”到参数。我进行了大量搜索,但无法弄清楚为什么它不起作用。

谢谢,

最佳答案

只需使用整数数组设置参数值即可。

report.SetParameterValue("@OrderStatus", new int[]{1,2,3});

在选择专家中,您将使用 in 运算符。

{table.order_status_id} in {?@OrderStatus}

关于c# - 为 Crystal Reports 中的参数分配多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/840085/

相关文章:

c# - C#中添加 Crystal 报表到tabcontrol时出现问题

crystal-reports - Crystal 报表公式中的上标

crystal-reports - Crystal 报表中的全局变量

c# - ClientRuntimeContext.Load 方法到底在做什么

c# - Unsafe.As 从字节数组到 ulong 数组

c# - Emgu CV图像锐化和控制检测

javascript - 带有级联下拉列表的搜索表单在 asp.net mvc 中不起作用

c# - .NET 引用(未找到方法)

python - JSON 标准 - 和多态性

c# - 无法调用 C# 方法 - 当前上下文中不存在名称 'sender'