为什么传递给报表时某个Winform的值会发生变化?
例如,从表格我有一个字符串1311-0015,但当我把它传递给公式字段时,它变成1,296.00
http://i.imgur.com/oeIwrAU.jpg
将它传递给TextObject不会改变它仍然是1311-0015的值但是我不能在Crystal Report中的公式中使用TextObjects .
想知道为什么会这样,以及如何解决问题 .
这是winForm的代码:
report.DataDefinition.FormulaFields [“SOS”] . Text = transactionId; ((TextObject)report.Section2.ReportObjects [“Text3”]) . Text = transactionId;
我传递给水晶报告的 Value :
public string transactionId =“1311-0015”;
3 回答
您说您将值传递给公式字段 . 如果公式中没有任何内容,并且您将1311 - 15传递给公式,它将对其进行评估 . 而不是公式字段,使用文本框或修改字符串,使其不像方程式 . 对于您的transactionID值,请尝试以下方法:
您可能需要有两个单独的公共字符串transactionId变量 .
您可以将此字符串作为参数传递 . 首先,在Crystal Reports编辑器中创建参数字段 . (右键,新...)
代码如下:
现在,您只需将参数字段拖放到报表中即可 .
您应该创建一个参数并在公式中使用它的值 . 为了避免显示参数对话框,请确保设置了参数值(您应该在代码中执行此操作)并设置:yourReport.EnableParameterPrompting = false;