我在报告中添加了一个参数,并选中了“允许多个值”选项。
这是一个状态列(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/