去掉VS2005中水晶報表的登錄界面

 在CSDN中經常有朋友問在ASP.NET下用水晶報表的網站會出現水晶報表的登錄界面,我來用實例說明如何去掉這個界面(PULL模式)
      首先,爲了登錄方便,將數據庫的用戶名和密碼先寫到Web.config中:
<appSettings>
    <add key="DBServerName" value="你的數據庫服務器" />
    <add key="DBUserID" value="sa" />
    <add key="DBPassWord" value="UU1Tc3lzdGVt" />
</appSettings>

     然後寫個類來統一驗證登錄
using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;

namespace BLL
{
    
public class LoginCrystalReport
    
{
        
public void Login(CrystalDecisions.CrystalReports.Engine.ReportDocument report)
        
{
            
string serverName = ConfigurationManager.AppSettings["ServerName"];
            
string databasename = ConfigurationManager.AppSettings["DbName"];
            
string userId = ConfigurationManager.AppSettings["UserID"];

            
string passWord = ConfigurationManager.AppSettings["Password"];

            
//Set Database Logon to main report
            foreach (CrystalDecisions.Shared.IConnectionInfo connection in report.DataSourceConnections)
            
{
                
if (connection.ServerName == serverName)
                
{
                    connection.SetLogon(userId, passWord);
                }

            }


            
//Set Database Logon to subreport
            foreach (CrystalDecisions.CrystalReports.Engine.ReportDocument subreport in report.Subreports)
            
{
                
foreach (CrystalDecisions.Shared.IConnectionInfo connection in subreport.DataSourceConnections)
                
{
                    
if (connection.ServerName == serverName)
                    
{
                        connection.SetLogon(userId, passWord);
                    }

                }

            }

        }



    }

}

 現在準備工作已經做好了,下面開始製作水晶報表.對於如何設計水晶報表我在這裏就不講了.
報表做好後,新建一個WEB頁,先拖一個水晶報表查看器,再拖一個水晶報表數據源,這些在VS2005的工具箱中都有,然後將查看器的數據源設置成剛纔拖進來的水晶報表數據源,再將水晶報表數據源的數據源設置成剛纔完成好的報表,這時候切換到代碼,開始編寫代碼:
protected override void OnInit(EventArgs e)
    
{
        
base.OnInit(e);
        BLL.LoginCrystalReport logCR 
= new BLL.LoginCrystalReport();
        logCR.Login(
this.CrystalReportSource1.ReportDocument);
        
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章