从Crystal Reports中获取配置参数
问题描述:
我必须准备一份报告,从报告中获取一些来自conf文件的字段数据并显示相关数据。从Crystal Reports中获取配置参数
我准备一个conf文件,我可以用C#读取它的数据,但我无法将它们与ms sql的数据进行比较。总之,我想用Crystal Reports显示我自己的SQL查询结果,并且我想从conf文件中获取Where语句的值。
是否有任何文件或类似的东西?我找不到有效的文件。
答
我会用参数构建Crystal报告,然后使用记录选择专家中的那些。您可以使用ConfigurationManager.AppSettings["parameter_name"].ToString()
阅读的app.config值,然后使用它们弹出到晶体参数:
using System;
using System.Windows.Forms;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
ReportDocument cryRpt = new ReportDocument();
cryRpt.Load("PUT CRYSTAL REPORT PATH HERE\CrystalReport1.rpt");
ParameterFieldDefinitions crParameterFieldDefinitions ;
ParameterFieldDefinition crParameterFieldDefinition ;
ParameterValues crParameterValues = new ParameterValues();
ParameterDiscreteValue crParameterDiscreteValue = new ParameterDiscreteValue();
crParameterDiscreteValue.Value = textBox1.Text;
crParameterFieldDefinitions = cryRpt.DataDefinition.ParameterFields;
crParameterFieldDefinition = crParameterFieldDefinitions["Customername"];
crParameterValues = crParameterFieldDefinition.CurrentValues;
crParameterValues.Clear();
crParameterValues.Add(crParameterDiscreteValue);
crParameterFieldDefinition.ApplyCurrentValues(crParameterValues);
crystalReportViewer1.ReportSource = cryRpt;
crystalReportViewer1.Refresh();
}
}
}
摘自:http://csharp.net-informations.com/crystal-reports/csharp-crystal-reports-string-parameter.htm