Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Winform到Crystal报告值更改_C#_Winforms_Crystal Reports - Fatal编程技术网

C# Winform到Crystal报告值更改

C# Winform到Crystal报告值更改,c#,winforms,crystal-reports,C#,Winforms,Crystal Reports,为什么来自某个Winform的值在传递到报表时会发生更改 例如,在表单中,我有一个字符串1311-0015,但当我将其传递到公式字段时,它将变成1296.00 将其传递给TextObject不会改变值,它仍然是1311-0015,但我不能在Crystal Report的公式中使用TextObjects 想知道为什么会发生这种情况,以及如何解决问题 这是winForm中的代码: report.DataDefinition.FormulaFields[“SOS”].Text=transaction

为什么来自某个Winform的值在传递到报表时会发生更改

例如,在表单中,我有一个字符串1311-0015,但当我将其传递到公式字段时,它将变成1296.00

将其传递给TextObject不会改变值,它仍然是1311-0015,但我不能在Crystal Report的公式中使用TextObjects

想知道为什么会发生这种情况,以及如何解决问题

这是winForm中的代码:

report.DataDefinition.FormulaFields[“SOS”].Text=transactionId;((TextObject)report.Section2.ReportObjects[“Text3”])。Text=transactionId

我传递给crystal报告的值:

公共字符串transactionId=“1311-0015”


您说过要将值传递给公式字段。如果公式中没有任何内容,您将1311-15传递给公式,它将对其进行计算。不要使用公式字段,而是使用文本框或修改字符串,使其不会像公式一样出现。对于transactionID值,请尝试以下操作:

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

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

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

代码如下:

string transactionID = "1311-0015";

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

现在,您只需要将参数字段拖放到报表中。

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

它把它看作一个数学方程式。试着用引号把它引起来。还要粘贴你的代码,这样我们才能更好地了解发生了什么。那么transactionID需要是一个数字?我已经添加了更多细节扫描你发布的水晶公式?您将无法将带有破折号的数字作为数字传递。当我将其传递到FormulaField时,它只需要停留在1311-0015,但它会变为1296.00。如果我使用参数字段,则始终会弹出一个参数提示。不要使用刷新,或设置为重复使用过去的参数数据。您不能使用数据集吗?我总是使用数据集来填写我的报告。但对于小的更改,我使用参数。您是否在没有刷新的情况下进行了测试?