社区
图表区
帖子详情
水晶报表10自定义打印按钮代码
whysoso
2007-05-05 07:32:08
页面WebA中有个按钮"打印报表",我想当点击此按纽的时候就可以打印报表中的东西,而不用用户进入水晶报表页面了,请问如何实现,如果你做过这方面的,请留下你的QQ或MSN,问题解决就100分......谢谢
...全文
488
9
打赏
收藏
水晶报表10自定义打印按钮代码
页面WebA中有个按钮"打印报表",我想当点击此按纽的时候就可以打印报表中的东西,而不用用户进入水晶报表页面了,请问如何实现,如果你做过这方面的,请留下你的QQ或MSN,问题解决就100分......谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
MaxFoAI
2008-07-29
打赏
举报
回复
水晶报表里有个printtoprinter,调用即可打印,你不想显示报表,只使用document,不放上view不就可以了吗?
owenbian
2007-05-08
打赏
举报
回复
做过水晶报表,那些后台代码不可能实现客户端打印,即使指定了客户端的打印机也是一样。报表自己的打印按钮算是好的解决办法了。再就是使用ie的打印,不过你肯定不想这样做。还一个客户端打印办法就是写组件了。 我开发时搜了很多资料,暂时没什么解决办法。
whysoso
2007-05-07
打赏
举报
回复
楼上各位兄弟:
现在的问题是我的系统发布以后,都是客户端打印呀,
二楼说的 strPrinterName = @"VCIT99";
三楼说的 strPrinterName = @"Canon Bubble-Jet BJC-210SP";
这样名称定死了呀..应该如何获取客户端打印机的名称呢?
mdl821120
2007-05-06
打赏
举报
回复
private void btnPrint_Click(object sender, System.EventArgs e)
{
// 指定打印机名称,这里是网络工作站Gigi上的打印机Hp Jet 6
string strPrinterName;
strPrinterName = @"Canon Bubble-Jet BJC-210SP";
// 设置打印页边距
PageMargins margins;
margins = ReportDoc2.PrintOptions.PageMargins;
margins.bottomMargin = 250;
margins.leftMargin = 350;
margins.rightMargin = 350;
margins.topMargin = 450;
ReportDoc2.PrintOptions.ApplyPageMargins(margins);
//应用打印机名称
ReportDoc2.PrintOptions.PrinterName = strPrinterName;
// 打印 // 打印报表。将 startPageN 和 endPageN
// 参数设置为 0 表示打印所有页。
ReportDoc2.PrintToPrinter(1, false,0,0);
}
mdl821120
2007-05-06
打赏
举报
回复
数据绑定:
private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
string strProvider = "Server=(local);DataBase=C1;UID=sa;PWD=sa";
SqlConnection MyConn = new SqlConnection(strProvider);
MyConn.Open();
string strSel = "Select * from exergy_loss";
SqlDataAdapter MyAdapter = new SqlDataAdapter(strSel,MyConn);
DataSet2 ds = new DataSet2();
MyAdapter.Fill(ds,"exergy_loss");
ReportDoc2.SetDataSource(ds);
crv.ReportSource = ReportDoc2;
}
打印报表:
// 指定打印机名称,这里是网络工作站Gigi上的打印机Hp Jet 6
string strPrinterName;
strPrinterName = @"Canon Bubble-Jet BJC-210SP";
// 设置打印页边距
PageMargins margins;
margins = ReportDoc2.PrintOptions.PageMargins;
margins.bottomMargin = 250;
margins.leftMargin = 350;
margins.rightMargin = 350;
margins.topMargin = 450;
ReportDoc2.PrintOptions.ApplyPageMargins(margins);
//应用打印机名称
ReportDoc2.PrintOptions.PrinterName = strPrinterName;
// 打印 // 打印报表。将 startPageN 和 endPageN
// 参数设置为 0 表示打印所有页。
ReportDoc2.PrintToPrinter(1, false,0,0);
forgot
2007-05-05
打赏
举报
回复
楼上的代码跟打印完全没有关系,正确的做法应该是:
myReport ReportDoc = new myReport();
protected void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
string strProvider = "Server=localhost;DataBase=myDatabase;UID=sa;PWD=";
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);
}
protected void btnPrint_Click(object sender, System.EventArgs e)
{
// 指定打印机名称,这里是网络工作站Gigi上的打印机Hp Jet 6
string strPrinterName;
strPrinterName = @"VCIT99";
// 设置打印页边距
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);
}
whysoso
2007-05-05
打赏
举报
回复
我报表代码如下:
protected CrystalDecisions.Web.CrystalReportViewer crystalone;
classdb myclass=new classdb();
CheckCrystal CheckCrystalOne=new CheckCrystal();
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
int intbh=Convert.ToInt32(this.Request.QueryString["bh"]);
string sql = "Select * from jl where bh="+intbh+"";
OracleDataAdapter daOrder = new OracleDataAdapter(sql,myclass.cnn);
DataSet ds = new DataSet();
daOrder.Fill(ds,"jl");
CheckCrystalOne.SetDataSource(ds);
crystalone.ReportSource = CheckCrystalOne;
BindCrystalSXK();
}
private void BindCrystalSXK()
{
TextObject ttelphone = CheckCrystalOne.ReportDefinition.ReportObjects["tex_telphone"] as TextObject;
TextObject taddress = CheckCrystalOne.ReportDefinition.ReportObjects["tex_address"] as TextObject;
TextObject tmailnumber = CheckCrystalOne.ReportDefinition.ReportObjects["tex_mailnumber"] as TextObject;
TextObject tfox = CheckCrystalOne.ReportDefinition.ReportObjects["tex_fox"] as TextObject;
TextObject temail = CheckCrystalOne.ReportDefinition.ReportObjects["tex_email"] as TextObject;
this.myclass.ConOpen();
string crystalsql2="select dh,dz,yb,cz,email from sxk ";
OracleCommand cmd=new OracleCommand(crystalsql2,this.myclass.cnn);
OracleDataReader dr=cmd.ExecuteReader();
while(dr.Read())
{
ttelphone.Text=dr[0].ToString();
taddress.Text =dr[1].ToString();
tmailnumber.Text =dr[2].ToString();
tfox.Text = dr[3].ToString();
temail.Text = dr[4].ToString();
}
dr.Close();
this.myclass.ConClose();
}
HTML为:
<%@ Register TagPrefix="cr" Namespace="CrystalDecisions.Web" Assembly="CrystalDecisions.Web, Version=10.0.3300.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" %>
<%@ Page language="c#" Codebehind="ShowOneReport.aspx.cs" AutoEventWireup="false" Inherits="JLGLXT.Crystal.ShowOneReport" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>ShowOneReport</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<CR:CrystalReportViewer id="crystalone" style="Z-INDEX: 101; LEFT: 176px; POSITION: absolute; TOP: 72px"
runat="server" AutoDataBind="true" PrintMode="ActiveX" Width="350px" Height="50px"></CR:CrystalReportViewer>
</form>
</body>
</HTML>
whysoso
2007-05-05
打赏
举报
回复
先谢过大家
水晶报表
10
打印
、导出
按钮
不能用
最近公司接了一个项目,要给客户做许多报表,并且是中国式的报表,本人就用了c#+
水晶报表
10
进行了开发,但是中间遇到了一个问题,”动态设置
水晶报表
的数据源后,
打印
、导出、查找等
按钮
不能用,即使用
水晶报表
的工具栏时,出现的不是
打印
、导出、查找的结果,而是一张空白”。出现这个问题挺郁闷的,于是在网上也查找了一番,但是网友们也都遇见到这个问题,都 没有给出解决的办法。无奈之下,本人专门研究了一番,最
水晶报表
——
打印
开发工具与关键技术:VS C# 作者:梁茵茵 撰写时间:2019年 4月 26日 我们需要
打印
页面上的数据的时候可以使用
水晶报表
这个插件来实现,那么肯定是先安装这个插件,怎样判断是否按照成功,在项目文件夹中点击新建项就可以知道了。安装完成就可以设计报表模板了,在设计模板格式的时候要特别细心。每次
打印
出来的表头的数据字段是不会改的,详细资料里的数据就会自动循环判断页面的数据,页脚的页数在
打印
的时候...
水晶报表
今天我要教给大家的内容是
水晶报表
,什么是
水晶报表
?
水晶报表
是一个可以
打印
数据的工具。当然在
打印
之前,我们要安装一下
水晶报表
软件。我用的
水晶报表
软件是编程软件——CRforVS_13_0_14。我就不教大家怎么安装了,只要在里面点击下一步再下一步就可以了。如果你们不知道是否安装成功,那么我教大家怎样判断一下是否安装成功了:首先来到项目解决方案,找到你要
水晶报表
的区域,在区域那里新建一个PrintRe...
使用
水晶报表
实现
打印
最近,给财务处开发了一个三联发票连打程序,使用的是C#--winform实现的。下面是
水晶报表
的基本概括:
水晶报表
的一般概念
水晶报表
的两种模式: 拉 PULL:设置好数据连接之后,使用
水晶报表
文件中所使用的获得数据的方式,由
水晶报表
自己解决数据获取操作。 推 PUSH:使用DataSet装载数据,然后填充到
水晶报表
中,再按照
水晶报表
的格式来展示。 查询的关键
代码
: //
C#之二十三
打印
和
水晶报表
视频课堂https://edu.csdn.net/course/play/7621 C#程序设计及宿舍管理系统实战 https://edu.csdn.net/course/detail/27
10
7
打印
组件介绍
打印
是常用的的功能,
打印
的原理从本质上和Windows窗体画图的原理是一样的,你在窗体里面画了一个圆,那么同样的
代码
,
打印
机也会在纸张的同一个位置
打印
...
图表区
4,818
社区成员
14,133
社区内容
发帖
与我相关
我的任务
图表区
.NET技术 图表区
复制链接
扫一扫
分享
社区描述
.NET技术 图表区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章