新建一个水晶报表文件(.rpt),打开,在最上面的菜单上会多出来(Crystal Report(R)),点菜单,选"注册/更改地址"
注册码:6707437608
在CSDN中经常有朋友问在ASP.NET下用水晶报表的网站会出现水晶报表的登录界面,我来用实例说明如何去掉这个界面(PULL模式)
首先,为了登录方便,将数据库的用户名和密码先写到Web.config中:
<appSettings>
<add key="DBServerName" value="你的数据库服务器" />
<add key="DBUserID" value="sa" />
<add key="DBPassWord" value="UU1Tc3lzdGVt" />
</appSettings>
然后写个类来统一验证登录
现在准备工作已经做好了,下面开始制作水晶报表.对于如何设计水晶报表我在这里就不讲了.
报表做好后,新建一个WEB页,先拖一个水晶报表查看器,再拖一个水晶报表数据源,这些在VS2005的工具箱中都有,然后将查看器的数据源设置成刚才拖进来的水晶报表数据源,再将水晶报表数据源的数据源设置成刚才完成好的报表,这时候切换到代码,开始编写代码:
OK,运行一下,发现登录界面没有了,水晶报表出来了.
还想说明一点,Web.config文件中敏感信息的加密要由你自己完成.
我打算写一些关于VS2005下水晶报表的系列文章,毕竟园子里关于水晶报表的不多,请弟兄们多多支持
首先,为了登录方便,将数据库的用户名和密码先写到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["DBServerName"];
string userId = ConfigurationManager.AppSettings["DBUserID"];
string passWord=ConfigurationManager.AppSettings["DBPassWord"];
//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);
}
}
}
}
}
}
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["DBServerName"];
string userId = ConfigurationManager.AppSettings["DBUserID"];
string passWord=ConfigurationManager.AppSettings["DBPassWord"];
//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);
}
{
base.OnInit(e);
BLL.LoginCrystalReport logCR = new BLL.LoginCrystalReport();
logCR.Login(this.CrystalReportSource1.ReportDocument);
}
OK,运行一下,发现登录界面没有了,水晶报表出来了.
还想说明一点,Web.config文件中敏感信息的加密要由你自己完成.
我打算写一些关于VS2005下水晶报表的系列文章,毕竟园子里关于水晶报表的不多,请弟兄们多多支持