我想知道是否可以通过编程方式更改水晶报告的公式。我想在我的网络应用程序中列出报告的所有公式,并为用户提供修改它们的可能性。
这可能吗?
答案 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