菜鸟问一个水晶报表的显示多行的奇怪问题!!给100分!!
CrystalReport1 wl = new CrystalReport1();
TextObject text;
text = wl.ReportDefinition.ReportObjects[@ "Text1 "] as TextObject;
text.Text = textBox1.Text;
crystalReportViewer1.ReportSource = wl;
上面我的代码可以给把textbox1.text的值付给水晶报表一个文本对象,如果textbox1.text里面只有一行文本,显示还正常,但如果textbox1.text是多行文本的话,例如:
a
b
c
,付值到报表里显示时却横过来了,如a b c,怎么解决呢??高手们啊??
------解决方案--------------------直接修改文本的text换行符无效,只能用参数字段来解决.比如文本框中放置了一个 "Param1 "的参数字段
在代码中:
CrystalReport1 rpt = new CrystalReport1();
CrystalDecisions.CrystalReports.Engine.ParameterFieldDefinition filed;
filed = rpt.DataDefinition.ParameterFields[ "Param1 "];
CrystalDecisions.Shared.ParameterDiscreteValue disValue = new CrystalDecisions.Shared.ParameterDiscreteValue();
disValue.Value = "A " + (char)13 + "B " + (char)13 + "C ";
CrystalDecisions.Shared.ParameterValues Values = new CrystalDecisions.Shared.ParameterValues();
Values.Add(disValue);
filed.ApplyCurrentValues(Values);
this.CrystalReport1.ReportCource=rpt;
------解决方案--------------------同意楼上所说的, 通过Param来解决