2012-03-30 100 views
0

我必須準備一份報告,從報告中獲取一些來自conf文件的字段數據並顯示相關數據。從Crystal Reports中獲取配置參數

我準備一個conf文件,我可以用C#讀取它的數據,但我無法將它們與ms sql的數據進行比較。總之,我想用Crystal Reports顯示我自己的SQL查詢結果,並且我想從conf文件中獲取Where語句的值。

是否有任何文件或類似的東西?我找不到有效的文件。

回答

0

我會用參數構建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