为Crystal Reports中的参数指定多个值

Nat*_*oop 5 .net c# crystal-reports

我已在报表中添加了一个参数,并选中了"允许多个值"选项.

这是一个状态列(IE,Proposed,In Progress,Completed,Cancelled),我希望用户能够选择要报告的不同OrderStatus(以及多少个).

我通常如何设置参数是:

report.SetParameterValue("@dtBegin", dtBegin.DateTime);
Run Code Online (Sandbox Code Playgroud)

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

//pseudo loop
foreach(int intOrderStatus in intSelectedOrderStatuses)
{
    report.Parameter_OrderStatus.CurrentValues.AddValue(intOrderStatus);
}
Run Code Online (Sandbox Code Playgroud)

我已检查它是否将值添加到OrderStatus参数,但是当报表运行时,会弹出CrystalReports对话框并要求我输入OrderStatus参数的值.所以似乎值不是"提交"参数.我做了很多搜索,无法弄清楚它为什么不起作用.

谢谢,

dot*_*joe 9

只需使用int数组设置参数值即可.

report.SetParameterValue("@OrderStatus", new int[]{1,2,3});
Run Code Online (Sandbox Code Playgroud)

在select专家中,您将使用in运算符.

{table.order_status_id} in {?@OrderStatus}
Run Code Online (Sandbox Code Playgroud)