水晶报表
来源:互联网 发布:爱玩图淘宝u站 编辑:程序博客网 时间:2024/06/10 02:44
在WinForm中使用水晶报表
使用crystalReportViewer控件
private void button1_Click(object sender, System.EventArgs e)
{
OpenFileDialog dlg=new OpenFileDialog();
dlg.Title="打开水晶报表文件";
dlg.Filter="水晶表报文件(*.rpt)|*.rpt|所有文件|*.*";
if(dlg.ShowDialog()==DialogResult.OK){
crystalReportViewer1.ReportSource=dlg.FileName;
}
}
Web中载入水晶报表
private void Page_Load(object sender, System.EventArgs e)
{
if(Session["filename"]!=null)
CrystalReportViewer2.ReportSource = Session["filename"].ToString();
}
private void btnLoad_Click(object sender, System.EventArgs e)
{
string strName = File1.PostedFile.FileName;
if(strName.Trim()!="")
{
CrystalReportViewer2.ReportSource = strName;
Session["filename"] = strName;
}
}
Pull方法
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
ReportDocument ReportDoc;
private void Page_Load(object sender, System.EventArgs e)
{
ReportDoc = new ReportDocument();
ReportDoc.Load(Server.MapPath("myReport.rpt"));
#region 解决登录错误问题
TableLogOnInfo logonInfo = new TableLogOnInfo();
foreach( CrystalDecisions.CrystalReports.Engine.Table tb in ReportDoc.Database.Tables)
{
logonInfo = tb.LogOnInfo;
logonInfo.ConnectionInfo.ServerName = "(local)";
logonInfo.ConnectionInfo.DatabaseName = "myDatabase";
logonInfo.ConnectionInfo.UserID = "sa";
logonInfo.ConnectionInfo.Password = "111";
tb.ApplyLogOnInfo(logonInfo);
}
#endregion
CrystalReportViewer1.ReportSource = ReportDoc;
}
Push方法
using System.IO;
using System.Data.SqlClient;
using UseCrystal.CrystalPush;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
myReport ReportDoc = new myReport();
private void Page_Load(object sender, System.EventArgs e)
{//载入报表
string strProvider = "Server=(local);DataBase=myDatabase;UID=sa;PWD=111";
SqlConnection MyConn = new SqlConnection(strProvider);
MyConn.Open();
string strSel = "Select * from SaleOfCuntry";
SqlDataAdapter MyAdapter = new SqlDataAdapter(strSel,MyConn);
DataSet1 ds = new DataSet1();
MyAdapter.Fill(ds,"SaleOfCuntry");
ReportDoc.SetDataSource(ds);
Crv.ReportSource = ReportDoc;
}
private void btnExport_Click(object sender, System.EventArgs e)
{//导出
CrystalDecisions.Shared.DiskFileDestinationOptions DiskOpts = new CrystalDecisions.Shared.DiskFileDestinationOptions();
ReportDoc.ExportOptions.ExportDestinationType = CrystalDecisions.Shared.ExportDestinationType.DiskFile;
switch (ddlFormat.SelectedItem.Text)
{
case "Rich Text (RTF)":
ReportDoc.ExportOptions.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.RichText;//
DiskOpts.DiskFileName = "c://Output.rtf";//
break;
case "Portable Document (PDF)":
ReportDoc.ExportOptions.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.PortableDocFormat;//
DiskOpts.DiskFileName = "c://Output.pdf";//
break;
case "MS Word (DOC)":
ReportDoc.ExportOptions.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.WordForWindows;//
DiskOpts.DiskFileName = "c://Output.doc";//
break;
case "MS Excel (XLS)":
ReportDoc.ExportOptions.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.Excel;//
DiskOpts.DiskFileName = "c://Output.xls";//
break;
default:
break;
}
ReportDoc.ExportOptions.DestinationOptions = DiskOpts;
ReportDoc.Export();
}
private void btnPrint_Click(object sender, System.EventArgs e)
{//打印
// 指定打印机名称,这里是网络工作站Gigi上的打印机Hp Jet 6
string strPrinterName;
strPrinterName = @"Canon Bubble-Jet BJC-210SP";
// 设置打印页边距
PageMargins margins;
margins = ReportDoc.PrintOptions.PageMargins;
margins.bottomMargin = 250;
margins.leftMargin = 350;
margins.rightMargin = 350;
margins.topMargin = 450;
ReportDoc.PrintOptions.ApplyPageMargins(margins);
//应用打印机名称
ReportDoc.PrintOptions.PrinterName = strPrinterName;
// 打印 // 打印报表。将 startPageN 和 endPageN
// 参数设置为 0 表示打印所有页。
ReportDoc.PrintToPrinter(1, false,0,0);
}
主从报表
using System.Data.SqlClient;
using CrystalDecisions.CrystalReports.Engine ;
myReport ReportDoc = new myReport();
private void Page_Load(object sender, System.EventArgs e)
{
string strProvider = "Server=(local);DataBase=Northwind;UID=sa;PWD=111";
SqlConnection MyConn = new SqlConnection(strProvider);
MyConn.Open();
string strSelOrders = "Select * from orders";
string strSelOrdersDetails = "Select * from [Order Details]";
SqlDataAdapter daOrder = new SqlDataAdapter(strSelOrders,MyConn);
SqlDataAdapter daOrderDetails = new SqlDataAdapter(strSelOrdersDetails,MyConn);
DataSet ds = new DataSet();
daOrder.Fill(ds,"orders");
daOrderDetails.Fill(ds,"Order Details");
ReportDoc.SetDataSource(ds);
cRV.ReportSource = ReportDoc;
}
private void btnChangeText_Click(object sender, System.EventArgs e)
{//修改表头
TextObject tb = (TextObject )ReportDoc.ReportDefinition.ReportObjects["Text2"];
tb.Text = "订单号";
}
- 水晶报表
- 水晶报表
- 水晶报表
- 水晶报表
- 水晶报表
- 水晶报表
- 水晶报表
- 水晶报表
- 水晶报表
- 水晶报表
- 水晶报表
- 水晶报表
- 水晶报表
- 水晶报表
- 水晶报表
- 水晶报表
- 水晶报表
- 水晶报表
- OracleHelper OracleTransaction
- 在Linux fedora 5上安装本地dictd server的方法
- 一个关于Oracle分页的实现方案
- C#获取当前应用程序所在的路径
- 测试测试测试
- 水晶报表
- OpenCV的一些资料
- 对象(Object)和类(Class)
- ASP.NET2.0学习6--角色控制与管理
- 对象实体化
- 今天是个不平凡的日子
- 命名方法
- 书评--规划极致软件制程(Planning Extreme Programming)
- 个性化图标