转载请附上原文出处链接及本声明
报表的运用,分为两种方法:pull和push
拉和推模型
为了向开发人员供给最灵活的数据访谒要领,Crystal Reports 数据库驱动措施被设计为可同时供给数据访谒的拉模型和推模型。
拉模型
在拉模型中,驱动措施将连接到数据库并按照需要将数据“拉”进来。使用这种模型时,与数据库的连接和为了获取数据而执行的 SQL 命令都同时由 Crystal Reports 自己措置惩罚惩罚,不需要开发人员编写代码。如果在运行时无须编写任何特殊代码,则使用拉模型。
推模型
相反,推模型需要开发人员编写代码以连接到数据库,执行 SQL 命令以创建与报表中的字段匹配的记录集或数据集,并且将该东西通报给报表。该要领使您可以将连接共享置入应用措施中,并在 Crystal Reports 收到数据之前先将数据筛选出来。
此中保举使用push,因为它的性能较pull好,具体的可以到网上去检察相关内容描述。
在此,我只是对push进行描述;(小我私家的操纵挨次,不过只能说明是一个要领,也应该有其他要领)
首先,创建一个数据集,假如是(DataSet1.xsd),设置好数据集以后,再创建crystralreport1.rpt,在crystralreport.rpt中设置好数据连接,并且把报表设计好以后,接着就要创建一个web窗体,(例如是Crystral_Use.aspx),此中页面中要拖进一个CrystalReportViewer控件,随后进行下面的操纵:
其次,引用对应的定名空间using CrystalDecisions.Shared;和 using CrystalDecisions.CrystalReports.Engine;
最后,在crystral-use.aspx页面中进行下面的编程:
CrystalReport1 crvs=new CrystalReport1();//实例化报表
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处安排用户代码以初始化页面
string connstring="server=.; database=BMSShopping ;uid =sa; pwd=123456;"; //连接数据库 SqlConnection conn=new SqlConnection(connstring);
SqlDataAdapter da=new SqlDataAdapter();
da.SelectCommand=new SqlCommand();
da.SelectCommand.CommandText="select top 3 * from orders";//从数据库中检索数据 da.SelectCommand.Connection=conn;
conn.Open();
DataSet1 ds=new DataSet1();//应用自界说的一个数据集
da.Fill(ds,"Orders");
crvs.SetDataSource(ds);
this.CrystalReportViewer1.ReportSource=crvs;
}
这样,一个简单的crystralreport就应用完了;
扩展一下:
如果你想把报表导出,那么你就继续进行下面的操纵设置:
首先,还是要在上面的根本上,拖放一个dropdownlist控件,以便能选择导格外式:
随后,编写代码:
//导出报表
CrystalDecisions.Shared.DiskFileDestinationOptions DiskOpts = new CrystalDecisions.Shared.DiskFileDestinationOptions();
crvs.ExportOptions.ExportDestinationType = CrystalDecisions.Shared.ExportDestinationType.DiskFile;
switch (ddlFormat.SelectedItem.Text)
{
case "RTF格局":
crvs.ExportOptions.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.RichText;//
DiskOpts.DiskFileName = "d:\\Output.rtf";//导出路径
this.Response.Write("导出RTF格局告成!");
break;
case "PDF格局":
crvs.ExportOptions.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.PortableDocFormat;//
DiskOpts.DiskFileName = "d:\\Output.pdf";//导出路径
this.Response.Write("导出PDF格局告成!");
break;
case "DOC格局":
crvs.ExportOptions.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.WordForWindows;//
DiskOpts.DiskFileName = "d:\\Output.doc";//导出路径
this.Response.Write("导出DOC格局告成!");
break;
case "EXCEL格局":
crvs.ExportOptions.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.Excel;//
DiskOpts.DiskFileName = "d:\\Output.xls";//导出路径
this.Response.Write("导出EXCEL格局告成!");
break;
default:
break;
}
crvs.ExportOptions.DestinationOptions = DiskOpts;
crvs.Export();
}
至此,所有有关报表打印实现就完了,也许有其他更好的操纵或者要领,但愿大家不吝见教。至于在visual studio 2005中水晶报表操纵,,比起visual studio 2003中要简单的多,通过拖放操纵就可以实现。而且visual studio 2005中对照简单,而且美不雅观也有升级。
————————————————
版权声明:本文为CSDN博主「yingzhaom」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文来由链接及本声明。
原文链接:https://blog.csdn.net/yingzhaom/article/details/7775491
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/32110.html