C# WINFORM 水晶报表 打印

问题描述

用水晶报表打印如何控制暂停和继续?

解决方案

解决方案二:
这不是水晶报表能控制到的了吧
解决方案三:
任务发送给打印机,暂停或者继续和水晶报表没神马关系
解决方案四:
privatevoidPrintOrders(stringorderid){DataTabledtPrint=bus.GetOrderDetailsInfo(orderid);dtPrint.TableName="dtOrderDetailsInfo";stringpathRpt=Application.StartupPath.Replace("\bin\Debug","")+@"crGoodsReport.rpt";ReportDocumentrepostDoc=newReportDocument();repostDoc.Load(pathRpt);//加载打印模板文件repostDoc.SetDataSource(dtPrint);//设置数据源repostDoc.PrintOptions.PrinterName=bus.GetAttrValueByUserName("选择打印机",Business.userName);//设置打印机名称repostDoc.PrintOptions.PaperSize=CrystalDecisions.Shared.PaperSize.Paper10x14;//设置打印纸张样式repostDoc.PrintOptions.PaperOrientation=CrystalDecisions.Shared.PaperOrientation.DefaultPaperOrientation;//纸张方向repostDoc.PrintToPrinter(1,true,1,10);}repostDoc.PrintToPrinter(1,true,1,10);执行这一句的时候就直接打印了,怎么暂停呢?用线程暂停好像控制不了吧
解决方案五:
repostDoc.PrintToPrinter(1,true,1,10)

这行代码是发送请求给打印机,命令发送后打印与否和报表就没关系了。
解决方案六:
问题是怎么控制暂停呢?
解决方案七:
随便问一下repostDoc.PrintToPrinter(1,true,1,2)改为repostDoc.PrintToPrinter(1,true,1,1)repostDoc.PrintToPrinter(1,true,2,2)打印出来的效果是否一样?因为我还要加个进度条
解决方案八:

解决方案九:
没人么,自己顶起
解决方案十:
没有暂停这个功能
解决方案十一:
引用2楼lovelj2012的回复:

任务发送给打印机,暂停或者继续和水晶报表没神马关系

打印的时候如何获取打印Jobid呢,就差这个了有了JobID我就可以暂停了publicstaticboolPauseOrResumePrintJob(stringprinterName,intprintJobID,stringtype){boolisActionPerformed=false;stringsearchQuery="SELECT*FROMWin32_PrintJob";ManagementObjectSearchersearchPrintJobs=newManagementObjectSearcher(searchQuery);ManagementObjectCollectionprntJobCollection=searchPrintJobs.Get();foreach(ManagementObjectprntJobinprntJobCollection){System.StringjobName=prntJob.Properties["Name"].Value.ToString();//Jobnamewouldbeoftheformat[Printername],[JobID]char[]splitArr=newchar[1];splitArr[0]=Convert.ToChar(",");stringprnterName=jobName.Split(splitArr)[0];intprntJobID=Convert.ToInt32(jobName.Split(splitArr)[1]);stringdocumentName=prntJob.Properties["Document"].Value.ToString();if(String.Compare(prnterName,printerName,true)==0){if(prntJobID==printJobID){if(type=="Pause")prntJob.InvokeMethod("Pause",null);elseprntJob.InvokeMethod("Resume",null);isActionPerformed=true;break;}}}returnisActionPerformed;}

时间: 2024-10-22 13:01:43

C# WINFORM 水晶报表 打印的相关文章

打印标签-水晶报表打印时条码不显示

问题描述 水晶报表打印时条码不显示 我用的是VS2008专业版自带的水晶报表,做的是一个BS程序,在服务器和客户端调试时,水晶报表打印正常,但是有客户端或者直接在服务器上通IE(IIS)打印时,报表上的条码就显示不出来,其他的内容显示一切正常,不知道是什么原因,请帮忙看看.另外:条码字体我使用的是free 3 of 9,客户端和服务器这个字体都有 解决方案 你确定有获取到这一列的数据??

跪求在.NET2003里怎样实现DataGrid水晶报表打印 WEB程序的?在线等!望高手速度解决!谢谢!急!!!!!

问题描述 希望大家发展点同情心好么! 解决方案 解决方案二:if(mytable.Rows.Count==0)//mytable是一个DataTable,也可用DataSet{this.Button1.Enabled=false;return;}System.Web.UI.WebControls.DataGriddgExport=null;//IO用于导出并返回excel文件System.IO.StringWriterstrWriter=null;System.Web.UI.HtmlTextWr

为什么用水晶报表打印时明明只有一页,却总有另一页空白页出现?连空表也是

问题描述 为什么用水晶报表打印时明明只有一页,却总有另一页空白页出现?后来建了一空白表,也是出现这种情况,请大虾们帮帮忙,急~~~~~~~~ 解决方案 解决方案二:可能性比较大的是,另一页有空白行,你设置页脚页边距了吗?解决方案三:改成A5就行了,怎么回事啊解决方案四:回zccmy22:只有一页啊,页脚页边距在哪里设置解决方案五:你的页面设置比真正报表中的布局小,才会这样的一种:设置是点击报表页面的右键,然后就能看到页面设置!二种:设置一下你在水晶报表中的字段.表格的高度布局!解决方案六:是你报

c# winfrom怎么把一张图片用水晶报表打印出来?

问题描述 我想把我重绘的界面打印出来,用Control.DrawToBitmap得到一个Bitmap类型的图片,怎么把这图片用水晶报表打印出来? 解决方案 解决方案二:你可以参考下水晶报表动态加载图片

winform下如何实现水晶报表打印?

问题描述 如题.小弟头一次接触水晶报表这东西..以前听都没听过..今天说让我做打印..有点蒙..查了好多资料..还是发蒙..事出紧急..只好向各位大虾求救..最好有代码.. 解决方案 解决方案二:Adjust_Reportrpt=newAdjust_Report();rpt.SetDataSource(daa.Prn_Adjust(int.Parse(this.txt_adj_NO.Text)));rpt.PrintOptions.PaperSize=CrystalDecisions.Share

求一个winform中水晶报表打印DataGridview例子

问题描述 我没用过水晶报表,现在需要用它来处理打印但是我不会用谁能给我一个完成的水晶报表的例子呀谢谢..有点急请发到我的油箱里谢谢rui---04@163.com请著名你的名字然后给我在这里留个言我看到合适的会马上给分谢谢 解决方案 解决方案二:我做过水晶报表,但用了三方插件的要吗??解决方案三:有没有不用第三方插件的呀我要从基础学期呀要不学不会解决方案四:用推模式对报表进行填充数据,把要打印的数据分别绑定到DataGridview和设计的报表就这样简单啊解决方案五:但用了三方插件的要吗??解决

winform下使用水晶报表打印,一张纸该如何打印两份

问题描述 是不是水晶报表都很少人用了..现在获取到了数据库数据,存入了dataset,通常是setdatasource就可以了,但是现在我想要这样一种格式标题字段字段字段内容内容内容---------------------------分割线或者说可以空白标题字段字段字段内容内容内容就是上面这种一页纸重复两遍,里面内容是不一样的.使用过段后分页,但是标题没有冻结,即使冻结,也是重新开始了一页.请问有什么方法解决,要一条一条的读数据打印么 解决方案

水晶报表打印单据时增加空行或空白行的示例脚本

报表打印|脚本|示例|水晶报表 假设我们的单据每张共打印五行,则最多会增加空白行4行,在重复出现的表体中定义四个空白节.我们首要的任务是根据记录数来确定这四个节什么时候显示,什么时候不显示.我们定义的节的抑制显示脚本为:节1,只有当记录数等于1时才需要显示第一个空白节.if onlastrecord=false then FORMULA = TRUEelse if (COUNT({销售单表体.商品代码}) mod 5 > 1) then FORMULA = TRUEelse if (COUNT(

以 .NET 创建 Code 39 条码图片 供水晶报表打印

教导如何用 C# 创建 Code 39 编码的「条码 (barcode)」图片,以供 ASP.NET + Crystal Reports 水晶报表呈现和打印此条码.本帖提供 ASP.NET 3.5 示例下载. 本帖的示例下载点:http://files.cnblogs.com/WizardWu/100914.zip 执行本示例,需要 SQL Server 的 Northwind 数据库,以及 VS 2008 或 IIS,另还需要 Crystal Reports 2008 标准版 (SAP 公司的