学会使用Pull模式的水晶报表后发现了一个新的问题
运行时会出现在一个登录框,要求输入用户名和密码,如图
有米有什么方法可以把这框去掉了肯定是有的
百度一下,答案还很多的
出现这种的情况的主要原因是,因为PULL模式是直接连接的数据在程序中并未指明连接的字符串,补上就可以了
---------------------------------------------------------------------------------------------------------------------------
代码:
引入命名空间:
using CrystalDecisions.Shared; //负责解释TableLogOnInfo类
using CrystalDecisions.CrystalReports.Engine; //负责解释ReportDocument类
写在Form1_Load事件里
TableLogOnInfo logOnInfo = new TableLogOnInfo();
//这里必须事先申明一个ReportDocument对象 Report,同时加载数据报表
ReportDocument oRpt = new ReportDocument();
//获取.rpt文件真实路径
oRpt.Load("D://VSProject//Exam//Exam//CrystalReport1.rpt");
//从web.config中获取logOnInfo参数信息
string a, b, c, d;
//获取ServerName
ServerName = System.Configuration.ConfigurationSettings.AppSettings["servername"];
//获取DatabaseName
DataBase = System.Configuration.ConfigurationSettings.AppSettings["database"];
//获取UserId
UserID = System.Configuration.ConfigurationSettings.AppSettings["userid"];
//获取password
PassWord = System.Configuration.ConfigurationSettings.AppSettings["pass"];
//设置logOnInfo参数
logOnInfo.ConnectionInfo.ServerName = ServerName;
logOnInfo.ConnectionInfo.DatabaseName = DataBase;
logOnInfo.ConnectionInfo.UserID = UserID ;
logOnInfo.ConnectionInfo.Password = PassWord ;
oRpt.Database.Tables[0].ApplyLogOnInfo(logOnInfo);
//.rpt文件与CryStalReportviewer文件之间的连接
this.crystalReportViewer1.ReportSource = oRpt;
------------------------------------------------------------------------------
这样看来没比PUSH模式水晶报表少写代码还不如用PUSH
下次在贴上PUSH模式的水晶报表创建