winform水晶报表基础操作从入门到精通

  • 格式:doc
  • 大小:57.50 KB
  • 文档页数:8
(5) RTF (Rich Text Format)
使用Pull模式导出报表,当导出使用Pull模式创建的文件时,水晶报表准确地打开所需要的数据,首先在HTML中加入一个<DIV>元素和控件
<DIV id="div_opt" style="Z-INDEX: 102; LEFT: 320px; WIDTH: 360px; POSITION: absolute; TOP: 24px; HEIGHT: 32px" ms_positioning="FlowLayout">
水晶报表基础操作从入门到精通
1、水晶报表注册码
在使用自带的水晶报表时,请注册,否则只能使用30次,水晶报表注册码如下:
注册号:6707437608
密码:AAP5GKS0000GDE100DS
2、中使用水晶报表
我们采用下面的几步使用Push模式执行水晶报表:
1)设计一个DataSet
(5)是否需要动态设置数据源?
Crystal Reports通过数据库驱动程序与数据库连接。每个驱动程序都被编写为可处理特定数据库类型或数据库访问技术。拉和推模型,为了向开发人员提供最灵活的数据访问方法,Crystal Reports数据库驱动程序被设计为可同时提供数据访问的拉模型和推模型。
拉模型pull:在拉模型中,驱动程序将连接到数据库并根据需要将数据“拉”进来。使用这种模型时,与数据库的连接和为了获取数据而执行的SQL命令都同时由Crystal Reports本身处理,不需要开发人员编写代码。如果在运行时无须编写任何特殊代码,则使用拉模型。
CrystalDecisions.Shared.ExportOptions myExportOptions = oCR.ExportOptions;
myExportOptions.DestinationOptions = mydiskoptions;
myExportOptions.ExportDestinationType = CrystalDecisions.Shared.ExportDestinationType.DiskFile;
MyAdapter.Fill(ds,"tbtree");
oCR.SetDataSource(ds);
this.CrystalReportViewer1.ReportSource = oCR;
this.CrystalReportViewer1.DataBind();
}
注意:在上面的代码中,你得注意一下oRpt是"Strongly Typed"的报表文件。如果你需要使用"UnTyped"报表,你得使用ReportDocument对象,然后再调用报表文件。
<asp:ListItem Value="doc">Word</asp:ListItem>
</asp:dropdownlist>
<asp:button id="btn_Change" runat="server" Text="转换"></asp:button>
</DIV>
下面是执行导出功能的代码:
private void lbtn_IEPrint_Click(object sender, System.EventArgs e)
右击“解决方案浏览器”,选择“添加”--“添加新项”-->“数据集”,从“服务器资源管理器”中的“SQL Server”中拖放“Stores”表(位于PUBS数据库中)。再将此表拖入数据集中。而.xsd文件中仅仅包含一个结构图,但是不会有任何数据在里面。
2)创建一个.rpt文件同时将其指定给上一步建立的DataSet。
注意Crystal Report库包含许多专家,可以指导您完成数个特定类型报表的创建工作。您可能希望使用专家来创建最初的报表,以确定哪种报表构造方法适合您的需要。
(4)单击“确定”按钮。
如果选择使用“报表专家”,便会出现“报表专家”对话框,并带有数据资源管理器。为每个文件夹选择所需数据,完成“报表专家”选项卡界面上的操作,然后单击“完成”来访问Crystal Report Designer和您的报表。
//使用存储过程
SqlCommand cmd = new SqlCommand("display", MyConn);
mandType = CommandType.StoredProcedure;
SqlDataAdapter MyAdapter = new SqlDataAdapter(cmd);
使用上面的介绍过的方法创建此文件,唯一的不同就是使用数据集来代替前面的直接连接数据。建立.rpt文件之后,右击“详细资料”-->“添加/删除数据库”,在”数据库专家“窗口中,展开”项目数据“(代替以前的OleDb),展开“数据集”--“DataSet1”,选择“Stores”表。将“Stores”表添加到“选定的表”中,点击“OK”。
(1)在项目中新建一个架构文件:
在解决方案资源管理器中,右击项目名,指向“添加”,然后单击“添加新项”。在“添加新项”对话框的“类别”区域,展开文件夹,然后选择“数据”。在“模板”区域选择“数据集”。接受默认名称Dataset1.xsd。这就创建了一个新的架构文件(Dataset1.xsd),以后将用它来生成强类型数据集。该架构文件将显示在数据集设计器中。
MyConn.Open();
//直接访问数据表
//string strSel = "select * from tbtree";
//SqlDataAdapter MyAdapter = new SqlDataAdapter(strSel,MyConn);
//MyAdapter.Fill(ds,"tbtree");
推模型push:相反,推模型需要开发人员编写代码以连接到数据库,执行SQL命令以创建与报表中的字段匹配的记录集或数据集,并且将该对象传递给报表。该方法使您可以将连接共享置入应用程序中,并在Crystal Reports收到数据之前先将数据筛选出来。
4)从数据集制作报表
从数据库创建数据集对象
{
string filetype = "";
filetype = ddl_FileFormat.SelectedValue;
string contenttype = "";
string myfilename = Request.MapPath(".\\") Session.SessionID "." filetype;
4)在代码中访问数据库并把数据存入DataSet
5)将报表文件导出成为其它格式
你能够将报表文件导出成为下列格式:
(1) PDF (Portable Document Format)
(2) DOC (MS Word Document)
(3) XLS (MS Excel Spreadsheet)
(4) HTML (Hyper Text Markup Language – 3.2 or 4.0 compliant)
}
else
{
CrystalReportViewer1.SeparatePages = true;
CrystalReportViewer1.DisplayToolbar = true;
lbtn_IEPrint.Text = "IE打印预览";
}
}
private void btn_Change_Click(object sender, System.EventArgs e)
3)在aspx页面中拖放一个CrystalReportViewer控件同时将其与前面的rpt文件建立联系。
使用PULL模式下的方法,建立一个WebForm,添加一个Crystal Report Viewer控件,并设定其属性,此处与PULL模式下是一致的。代码如下:
private MyReport oCR;//MyReport为MyReport.aspx.csk中的类名
oCR.Export();
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = contenttype;
Response.WriteFile(myfilename);
Response.Flush();
Response.Close();
<asp:linkbutton id="lbtn_IEPrint" runat="server">IE打印预览</asp:linkbutton>&nbsp;格式转换
<asp:dropdownlist id="ddl_FileFormat" runat="server">
<asp:ListItem Value="pdf">Pdf</asp:ListItem>
{
if(lbtn_IEPrint.Text == "IE打印预览")
{
CrystalReportViewer1.SeparatePages = false;
CrystalReportViewer1.DisplayToolbar = false;
lbtn_IEPrint.Text = "取消IE打印预览";
private void Page_Load(object sender, System.EventArgs e)