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参数的值.所以似乎值不是"提交"参数.我做了很多搜索,无法弄清楚它为什么不起作用.
谢谢,
只需使用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)