一起学习水晶报表之拉模式【如何实现水晶报表显示数据信息】(课程3)
2014-02-19 23:17
821 查看
总结:(1)新建rpt报表文件(2)使用一个控件【CrystalReportViewer】
上两节课程我们都是采用两个内置的控件来显示报表数据,但是我不喜欢,也不推荐各位依赖控件。这里,我将给大家介绍一下没有采用CrystalReportSource控件的情况下,如何实现绑定数据集,同样实现数据的显示呢???方法如下:
在原来的基础上,我们去掉CrystalReportSource控件,在后台实现代码绑定报表模板。
【1】引用命名空间:
using CrystalDecisions.Shared;
using CrystalDecisions.CrystalReports.Engine;
【2】书写后台代码:
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
ReportDocument rptDoc = new ReportDocument();
rptDoc.Load(Server.MapPath("\\CrystalReport1.rpt"));
TableLogOnInfo logInfo = new TableLogOnInfo();
logInfo.ConnectionInfo.ServerName = @"127.0.0.1";
logInfo.ConnectionInfo.UserID = "sa";
logInfo.ConnectionInfo.Password = "admin@123456";
logInfo.ConnectionInfo.DatabaseName = "北风贸易";
for (int i = 0; i < rptDoc.Database.Tables.Count; i++)
{
rptDoc.Database.Tables[i].ApplyLogOnInfo(logInfo);
}
CrystalReportViewer1.ReportSource = rptDoc;
}
}
【3】其实是万变不离其宗,原理还是一样的。编译运行成功。
***********************【方法二】*************************************
【4】我们再看一下解决方案中的文件,报表模板下面有个cs文件。
我们来看看这个CrystalReport1.cs文件的内容:
其中有个属性ResourceName。这个属性返回的就是报表模板文件。那么我们也可以将前面那种方法的两个语句合并为依据,改为如下:
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//ReportDocument rptDoc = new ReportDocument();
//rptDoc.Load(Server.MapPath("\\CrystalReport1.rpt"));
CrystalReport1 rptDoc = new CrystalReport1();
TableLogOnInfo logInfo = new TableLogOnInfo();
logInfo.ConnectionInfo.ServerName = @"127.0.0.1";
logInfo.ConnectionInfo.UserID = "sa";
logInfo.ConnectionInfo.Password = "admin@123456";
logInfo.ConnectionInfo.DatabaseName = "北风贸易";
for (int i = 0; i < rptDoc.Database.Tables.Count; i++)
{
rptDoc.Database.Tables[i].ApplyLogOnInfo(logInfo);
}
CrystalReportViewer1.ReportSource = rptDoc;
}
}
编译,运行成功!!
上两节课程我们都是采用两个内置的控件来显示报表数据,但是我不喜欢,也不推荐各位依赖控件。这里,我将给大家介绍一下没有采用CrystalReportSource控件的情况下,如何实现绑定数据集,同样实现数据的显示呢???方法如下:
在原来的基础上,我们去掉CrystalReportSource控件,在后台实现代码绑定报表模板。
【1】引用命名空间:
using CrystalDecisions.Shared;
using CrystalDecisions.CrystalReports.Engine;
【2】书写后台代码:
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
ReportDocument rptDoc = new ReportDocument();
rptDoc.Load(Server.MapPath("\\CrystalReport1.rpt"));
TableLogOnInfo logInfo = new TableLogOnInfo();
logInfo.ConnectionInfo.ServerName = @"127.0.0.1";
logInfo.ConnectionInfo.UserID = "sa";
logInfo.ConnectionInfo.Password = "admin@123456";
logInfo.ConnectionInfo.DatabaseName = "北风贸易";
for (int i = 0; i < rptDoc.Database.Tables.Count; i++)
{
rptDoc.Database.Tables[i].ApplyLogOnInfo(logInfo);
}
CrystalReportViewer1.ReportSource = rptDoc;
}
}
【3】其实是万变不离其宗,原理还是一样的。编译运行成功。
***********************【方法二】*************************************
【4】我们再看一下解决方案中的文件,报表模板下面有个cs文件。
我们来看看这个CrystalReport1.cs文件的内容:
其中有个属性ResourceName。这个属性返回的就是报表模板文件。那么我们也可以将前面那种方法的两个语句合并为依据,改为如下:
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//ReportDocument rptDoc = new ReportDocument();
//rptDoc.Load(Server.MapPath("\\CrystalReport1.rpt"));
CrystalReport1 rptDoc = new CrystalReport1();
TableLogOnInfo logInfo = new TableLogOnInfo();
logInfo.ConnectionInfo.ServerName = @"127.0.0.1";
logInfo.ConnectionInfo.UserID = "sa";
logInfo.ConnectionInfo.Password = "admin@123456";
logInfo.ConnectionInfo.DatabaseName = "北风贸易";
for (int i = 0; i < rptDoc.Database.Tables.Count; i++)
{
rptDoc.Database.Tables[i].ApplyLogOnInfo(logInfo);
}
CrystalReportViewer1.ReportSource = rptDoc;
}
}
编译,运行成功!!
相关文章推荐
- 一起学习水晶报表之拉模式【如何通过代码实现水晶报表显示数据】(课程2)
- 一起学习水晶报表之【如何实现Web网页显示水晶报表和绑定数据】(课程1)
- 一起学习水晶报表之推模式【弱类型的DataSet实现显示报表数据】(课程5)
- 一起学习水晶报表之推模式【强类型的DataSet实现显示报表数据】(课程7)
- 一起学习水晶报表之推模式【强类型的DataSet实现显示报表数据】(课程6)
- 一起学习水晶报表之拉模式【Winform中实现报表显示数据】(课程4)
- PUSH模式动态水晶报表的实现-动态数据以及汇总信息的的实现
- Sharepoint学习笔记---如何在Sharepoint2010网站中整合Crystal Report水晶报表(显示数据 一)
- Silverlight 学习笔记——MVVM模式实现主从数据显示
- Sharepoint学习笔记---如何在Sharepoint2010网站中整合Crystal Report水晶报表(显示数据 二)
- PUSH模式动态水晶报表的实现-文本框、数据框的设置
- 【水晶报表】如何实现每页数据汇总?
- 水晶报表PUSH模式多个表数据的显示
- Silverlight 学习笔记——MVVM模式实现主从数据显示
- Silverlight 学习笔记——MVVM模式实现主从数据显示
- Silverlight 学习笔记——MVVM模式实现主从数据显示 ---转
- PUSH模式动态水晶报表的实现-网格线如何实现呢
- 如何找到最新的条形码字体,并在水晶报表显示?
- 如何实现窗体跟随另一个程序一起显示,一起隐藏!!
- C#中如何实现DataTable作为水晶报表的数据源?