2010-08-10 5 views
1

donc j'ai un fichier .rpt et que vous souhaitez afficher le rapport de cristal dans un formulaire Web. J'ai traîné la visionneuse de rapport sur mon formulaire Web et ai défini son CrystalReportSource au moment du design.rapports de cristal dans asp.net (j'ai un fichier .rpt)

quand je les sourcils à la page, il me demande d'entrer un mot de passe sql et a le déjà rempli le nom du serveur SQL et l'utilisateur.

Comment puis-je configurer la connexion DB dans le code derrière et ont l'affichage de la page le rapport sans demander un mot de passe SQL?

Est-ce que je devrais simplement générer un ensemble de données et créer une base de données pour la visionneuse de rapports à cristaux dans le fichier rpt et dans mon ensemble de données?

+0

c'est ce que je fais habituellement. Créer une connexion, obtenir les données, lier au rapport, le montrer. –

Répondre

1
using System; 
using System.Collections; 
using System.Configuration; 
using System.Data; 
using System.Linq; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.HtmlControls; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Xml.Linq; 
using CrystalDecisions.CrystalReports.Engine; 
using CrystalDecisions.Shared; 


public partial class crystal_report : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 

    private void Page_Init(object sender, EventArgs e) 
    { 
     ConfigureCrystalReports(); 
    } 

    private void ConfigureCrystalReports() 
    { 

     ConnectionInfo connectionInfo = new ConnectionInfo(); 
     connectionInfo.DatabaseName = "PMIS"; 
     connectionInfo.UserID = "PMIS_User"; 
     connectionInfo.Password = "Welcome1"; 
     SetDBLogonForReport(connectionInfo); 


    } 


    private void SetDBLogonForReport(ConnectionInfo connectionInfo) { 
     TableLogOnInfos tableLogOnInfos = CrystalReportViewer1.LogOnInfo; 

     foreach (TableLogOnInfo tableLogOnInfo in tableLogOnInfos) 
     { 
      tableLogOnInfo.ConnectionInfo = connectionInfo; 
     } 


    } 

} 
Questions connexes