Pull水晶报表去除登录框

来源:互联网 发布:布局算法 编辑:程序博客网 时间:2024/05/16 10:56
 

学会使用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;