以编程方式更改晶体报告公式

时间:2009-03-18 01:56:57

标签: crystal-reports

我想知道是否可以通过编程方式更改水晶报告的公式。我想在我的网络应用程序中列出报告的所有公式,并为用户提供修改它们的可能性。

这可能吗?

2 个答案:

答案 0 :(得分:5)

using CrystalDecisions.CrystalReports.Engine;

namespace Craft
{
    class Mate
    {
        Order_Print _r = new Order_Print();

        void Preview()
        {
            foreach (FormulaFieldDefinition f in _r.DataDefinition.FormulaFields)
            {
                MessageBox.Show(f.Name);

                f.Text = InputBox.Show("Input the formula for " + f.Name);
            }
        }
    }
}

答案 1 :(得分:2)

是的,例如我们使用以下函数来更改公式:

 Public Sub SetReportFormulaContents(ByRef Report As ReportDocument, ByVal FormulaName As String, ByVal FormulaContents As String)
    Dim Formula As FormulaFieldDefinition = Nothing

    ' Get the ReportObject by name and cast it as a FieldObject
    If TypeOf (Report.DataDefinition.FormulaFields.Item(FormulaName)) Is CrystalDecisions.CrystalReports.Engine.FormulaFieldDefinition Then
        Formula = Report.DataDefinition.FormulaFields.Item(FormulaName)
        Formula.Text = FormulaContents
    End If
End Sub