为什么传递给报告时某个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;
我传递给水晶报告的价值:
public string transactionId =“1311-0015”;
答案 0 :(得分:0)
您说您将值传递给公式字段。如果公式中没有任何内容,并且您将1311 - 15传递给公式,它将对其进行评估。而不是公式字段,使用文本框或修改字符串,使其不像方程式。对于您的transactionID值,尝试类似:
""1311" & "-" & "0015""
您可能需要有两个单独的公共字符串transactionId变量。
答案 1 :(得分:0)
您可以将此字符串作为参数传递。 首先,在Crystal Reports编辑器中创建参数字段。 (右键,新...)
代码如下:
string transactionID = "1311-0015";
yourRpt.SetDatasource(youDataSource);
yourRpt.Parameters.SetParameterValue("transactionID", transactionID);
现在,您只需将参数字段拖放到报告中即可。
答案 2 :(得分:0)
您应该创建一个参数并在公式中使用它的值。 为了避免显示参数对话框,请确保设置了参数值(您应该在代码中执行此操作)并设置: yourReport.EnableParameterPrompting = false;