2010-08-10 40 views
1

所以我有一个.rpt文件,并希望在Web窗体中显示水晶报告。在asp.net中的水晶报告(我有一个.rpt文件)

我将报表查看器拖到我的Web表单上,并在设计时设置了它的CrystalReportSource。

当我眉头页面,它要求我输入的SQL密码,并已填补了SQL服务器名称和用户

我怎么可以在代码中设置数据库连接背后,让页面显示报告没有提示输入SQL密码?

我应该只是生成一个数据集并将晶体报告查看器绑定到rpt文件和我的数据集?

+0

这就是我通常所做的。创建一个连接,获取数据,绑定到报告,显示它。 – 2010-08-10 19:28:19

回答

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; 
     } 


    } 

}