繁体   English   中英

Winform到Crystal Report的值更改

[英]Winform to Crystal Report value changes

为什么某个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;

我传递给水晶报表的价值:

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

您说要将该值传递给公式字段。 如果公式中没有任何内容,并且您将1311-15传递给公式,它将对其求值。 代替公式字段,使用文本框或修改字符串,以使它不会像方程式那样出现。 为您的transactionID值尝试类似:

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

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

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

参数栏位

代码如下:

string transactionID = "1311-0015";

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM