首页 文章

Winform to Crystal Report值更改

提问于
浏览
0

为什么传递给报表时某个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 回答

  • 0

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

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

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

  • 0

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

    Parameter field

    代码如下:

    string transactionID = "1311-0015";
    
    yourRpt.SetDatasource(youDataSource);
    yourRpt.Parameters.SetParameterValue("transactionID", transactionID);
    

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

  • 0

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

相关问题