Winform to Crystal Report值更改

时间:2013-11-18 15:48:40

标签: c# winforms crystal-reports

为什么传递给报告时某个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”;

3 个答案:

答案 0 :(得分:0)

您说您将值传递给公式字段。如果公式中没有任何内容,并且您将1311 - 15传递给公式,它将对其进行评估。而不是公式字段,使用文本框或修改字符串,使其不像方程式。对于您的transactionID值,尝试类似:

""1311" & "-" & "0015""

您可能需要有两个单独的公共字符串transactionId变量。

答案 1 :(得分:0)

您可以将此字符串作为参数传递。 首先,在Crystal Reports编辑器中创建参数字段。 (右键,新...)

Parameter field

代码如下:

string transactionID = "1311-0015";

yourRpt.SetDatasource(youDataSource);
yourRpt.Parameters.SetParameterValue("transactionID", transactionID);

现在,您只需将参数字段拖放到报告中即可。

答案 2 :(得分:0)

您应该创建一个参数并在公式中使用它的值。 为了避免显示参数对话框,请确保设置了参数值(您应该在代码中执行此操作)并设置: yourReport.EnableParameterPrompting = false;