水晶报表自定义参数传递个人示例代码

    技术2022-05-11  43

    经过几番周折,终于结合网上和自己的理解,通过参数字段方法传递了我要显示的值了!实在是很高兴,因为这是进步,还要努力,下面把这段自己写的代码奉献给大家分享:

     

    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---显示为正常”!我一下子兴奋了!继续研究,项目需要这个,现在自己在做视图,和动态参数查询新的报表!期待尽快解决!

    最新回复(0)