2014-01-21 3 views
0

Я привязываю к использованию .split, чтобы передать несколько значений в параметр с несколькими значениями. Если я выберу 4 элемента, 4 значения будут переданы в отчет кристалла, но все 4 будут иметь одинаковую величину последнего элемента (т. Е. Если я выберу 1,2,3,4, отчет кристалла получит 4,4,4,4).Crystal Report CurrentValues.Add добавляет одно и то же значение снова и снова

ParameterField f1 = CrystalReportViewer1.ParameterFieldInfo["Emp Id"]; 
ParameterDiscreteValue v1 = new ParameterDiscreteValue(); 
string LBL1 = Request.QueryString["LBL1"].ToString(); 
string[] LBL1split = LBL1.Split(','); 

foreach (string item in LBL1split) 
{ 
    v1.Value = item; 
    f1.CurrentValues.Add(v1); 
} 

ли новое значение overridding существующих элементов в .CurrentValues?

Благодаря

ответ

2

Вы должны заметить, что вы передаете класс к CurrentValues.Add методу

поэтому единственное, что вы должны изменить это:

поставил ParameterDiscreteValue v1 = new ParameterDiscreteValue(); в петлю

ParameterField f1 = CrystalReportViewer1.ParameterFieldInfo["Emp Id"]; 
string LBL1 = Request.QueryString["LBL1"].ToString(); 
string[] LBL1split = LBL1.Split(','); 

foreach (string item in LBL1split) 
{ 
    ParameterDiscreteValue v1 = new ParameterDiscreteValue(); 
    v1.Value = item; 
    f1.CurrentValues.Add(v1); 
} 
Смежные вопросы