水晶報表自定義參數傳遞個人示例代碼

經過幾番周折,終於結合網上和自己的理解,通過參數字段方法傳遞了我要顯示的值了!實在是很高興,因爲這是進步,還要努力,下面把這段自己寫的代碼奉獻給大家分享:

 

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using CrystalDecisions.Shared ;//負責解釋TableLogOnInfo類 
using CrystalDecisions.CrystalReports.Engine ;//負責解釋ReportDocument類 
public partial class Report_ReportContent : System.Web.UI.Page
{
    
protected void Page_Load(object sender, EventArgs e)
    {
        
//CrystalReportViewer1.te
        TableLogOnInfo logOnInfo = new TableLogOnInfo ();
        
//這裏必須事先申明一個ReportDocument對象 Report,同時加載數據報表 
        ReportDocument oRpt = new ReportDocument();
        
//獲取.rpt文件真實路徑 
        string path1,path2;
        path1 
= Server.MapPath(".");
        path2 
= path1 + "/CrystalReport.rpt";
        
//Response.Write(path2);
        
//Response.End();
        oRpt.Load(path2);
        
//從web.config中獲取logOnInfo參數信息
        string a,b,c,d;
        
//獲取ServerName
        a=System.Configuration .ConfigurationSettings .AppSettings ["servername"];
        
//獲取DatabaseName
        b=System.Configuration .ConfigurationSettings .AppSettings ["database"];
        
//獲取UserId
        c=System.Configuration .ConfigurationSettings .AppSettings ["userid"];
        
//獲取password
        d=System.Configuration .ConfigurationSettings .AppSettings ["pass"];
        
//設置logOnInfo參數
        logOnInfo.ConnectionInfo.ServerName = a;
        logOnInfo.ConnectionInfo.DatabaseName 
= b;
        logOnInfo.ConnectionInfo.UserID 
= c;
        logOnInfo.ConnectionInfo.Password 
= d;

        oRpt.Database .Tables [
0].ApplyLogOnInfo (logOnInfo);
        
//建立.rpt文件與CryStalReportviewer文件之間的連接
        CrystalReportViewer1.ReportSource = oRpt;

        
//查看器控件所需的變量。
        ParameterValues paramValues = new ParameterValues();
        ParameterDiscreteValue paradisvalues 
= new ParameterDiscreteValue();
        paradisvalues.Value 
= "測試文字1---顯示爲正常";
        paramValues.Add(paradisvalues);
        oRpt.DataDefinition.ParameterFields[
0].ApplyCurrentValues(paramValues);
    }
}
終於在我要的水晶報表裏顯示了這些字“測試文字1---顯示爲正常”!我一下子興奮了!繼續研究,項目需要這個,現在自己在做視圖,和動態參數查詢新的報表!期待儘快解決!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章