水晶报表如何为一个参数传递多个值?
我在水晶报表里创建了一个空白报表,新建了一个参数字段p1,字符串类型;然后把该字段拖到报表中。
然后在vc中新建一个mfc exe工程,加载水晶报表控件。
接着用代码为该字段赋多个值:abc和abcd
//初始化水晶报表的代码省去
m_Report->ParameterFields->GetItemByName("p1")->AddCurrentValue(_variant_t( "abc" ));
m_Report->ParameterFields->GetItemByName("p1")->AddCurrentValue(_variant_t( "abcd" ));
//加载报表路径及显示报表的代码也省去
运行后报表的参数字段只显示abcd,即最后一行代码起作用。
请问如何能为一个参数字段赋多个值?
------解决方案--------------------
多值的情况处理
首先你要把参数设置为离散值,这个应该设置好了。代码如下
下面是c#的
C# code
ParameterDiscreteValue PV;
ParameterValues PVS = new ParameterValues();
//第1个值加到pvs
PV = new ParameterDiscreteValue();
PV.Value = "a1";
PVS.Add(PV);
//第2个值加到pvs
PV = new ParameterDiscreteValue();
PV.Value = "a2";
PVS.Add(PV);
//把参数字段传到报表
ParameterFieldDefinition PFD = Rpt.DataDefinition.ParameterFields["参数字段名称"];
PFD.ApplyCurrentValues(PVS);