没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|其它|编辑:郝浩|2012-10-16 15:23:04.000|阅读 9366 次
概述:DevExpress一直备受关注,鉴于许多网友反映,对DevExpress所涉及到的打印不是很清楚,现特意为大家做了一个小结。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
DevExpress一直备受关注,鉴于许多网友反映,对DevExpress所涉及到的打印不是很清楚,现特意为大家做了一个小结,内容分为:
1、DevExpress 打印服务调用
if (_WebOrderModel.OrderNo.ToString().Trim().Equals("") == true) return; string OrderNo = _WebOrderModel.OrderNo; //client.GetOrderNOAsync(orderno); DocumentPreviewWindow preview = new DocumentPreviewWindow(); ReportPreviewModel model = new ReportPreviewModel(); //读取ReportService服务地址 model.ServiceUri = SystemControl.Super.GetAppSetting("ReportService.BaseURL"); model.ReportTypeName = "Com.B2B.Admin.Report.XtraOrderDetail"; model.Parameters["Weborderno"].Value = OrderNo; //model.AutoShowParametersPanel = false; preview.Model = model; preview.Model.CreateDocument(); preview.ShowDialog();
2、DevExpress打印相关代码
using System; using System.Windows.Forms; using DevExpress.XtraPrinting; using System.Xml.Serialization; namespace MyDevExpressDemo { /// <summary> /// PrintSettingController 的摘要说明。 /// </summary> public class PrintSettingController { PrintingSystem ps = null; string formName=null; DevExpress.XtraPrinting.PrintableComponentLink link=null; /// <summary> /// /// </summary> /// <param name="control">要打印的部件</param> /// <param name="FormName">此部件对应的布局信息</param> public PrintSettingController(IPrintable control,string FormName) { formName=FormName; ps=new DevExpress.XtraPrinting.PrintingSystem(); link=new DevExpress.XtraPrinting.PrintableComponentLink(ps); ps.Links.Add(link); link.Component=control; ps.PageSettingsChanged-=new EventHandler(ps_PageSettingsChanged); LoadPageSetting(); ps.PageSettingsChanged+=new EventHandler(ps_PageSettingsChanged); ps.AfterMarginsChange+=new MarginsChangeEventHandler(ps_AfterMarginsChange); } public void Preview() { try { if(DevExpress.XtraPrinting.PrintHelper.IsPrintingAvailable) { Cursor.Current=Cursors.AppStarting; if(_PrintHeader!=null) { PageHeaderFooter phf = link.PageHeaderFooter as PageHeaderFooter; phf.Header.Content.Clear(); phf.Header.Content.AddRange(new string[] {"",_PrintHeader,""}); phf.Header.Font=new System.Drawing.Font("宋体",14,System.Drawing.FontStyle.Bold); phf.Header.LineAlignment=BrickAlignment.Center; } link.PaperKind=ps.PageSettings.PaperKind; link.Margins=ps.PageSettings.Margins; link.Landscape=ps.PageSettings.Landscape; link.CreateDocument(); ps.PreviewForm.Show(); } else { Cursor.Current=Cursors.Default; MessageBox.Show("打印机不可用", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } finally { Cursor.Current=Cursors.Default; } } /// <summary> /// 打印控制器 /// </summary> /// <param name="control">要打印的部件</param> public PrintSettingController(IPrintable control) { if(control==null)return; Control c=(Control)control; formName=c.FindForm().GetType().FullName+"."+c.Name; ps=new DevExpress.XtraPrinting.PrintingSystem(); link=new DevExpress.XtraPrinting.PrintableComponentLink(ps); ps.Links.Add(link); link.Component=control; ps.PageSettingsChanged-=new EventHandler(ps_PageSettingsChanged); LoadPageSetting(); ps.PageSettingsChanged+=new EventHandler(ps_PageSettingsChanged); ps.AfterMarginsChange+=new MarginsChangeEventHandler(ps_AfterMarginsChange); } public void ExportToHtml() { try { using(SaveFileDialog fd=new SaveFileDialog()) { fd.Title="导出HTML文件"; fd.RestoreDirectory=true; fd.Filter="HTML文件|*.htm"; fd.FilterIndex=1; if(fd.ShowDialog()==DialogResult.OK) { // if(obj is DevExpress.XtraGrid.GridControl) // { // ((DevExpress.XtraGrid.GridControl)obj).ExportToHtml(fd.FileName); // MessageBox.Show("文件导出成功","导出",MessageBoxButtons.OK,MessageBoxIcon.Information); // } // else if(obj is DevExpress.XtraTreeList.TreeList) // { link.CreateDocument(); ps.ExportToHtml(fd.FileName); MessageBox.Show("文件导出成功","导出",MessageBoxButtons.OK,MessageBoxIcon.Information); // } } } } finally { } } /// <summary> /// 网格分组时要导出,请使用这个, /// </summary> public void GridGroupToExcel() { DevExpress.XtraGrid.GridControl grid=this.link.Component as DevExpress.XtraGrid.GridControl; if(grid!=null) { using(SaveFileDialog fd=new SaveFileDialog()) { fd.Title="导出Excel文件"; fd.RestoreDirectory=true; fd.Filter="Excel文件|*.xls"; fd.FilterIndex=1; if(fd.ShowDialog()==DialogResult.OK) { grid.ExportToExcel(fd.FileName); MessageBox.Show("文件导出成功","导出",MessageBoxButtons.OK,MessageBoxIcon.Information); } } } } public void ExportToExcel() { try { using(SaveFileDialog fd=new SaveFileDialog()) { fd.Title="导出Excel文件"; fd.RestoreDirectory=true; fd.Filter="Excel文件|*.xls"; fd.FilterIndex=1; if(fd.ShowDialog()==DialogResult.OK) { // if(obj is DevExpress.XtraGrid.GridControl) // { // ((DevExpress.XtraGrid.GridControl)obj).ExportToExcel(fd.FileName); // MessageBox.Show("文件导出成功","导出",MessageBoxButtons.OK,MessageBoxIcon.Information); // } // else if(obj is DevExpress.XtraTreeList.TreeList) // { link.CreateDocument(); ps.ExportToXls(fd.FileName); MessageBox.Show("文件导出成功","导出",MessageBoxButtons.OK,MessageBoxIcon.Information); // } } } } finally { } } string _PrintHeader=null; /// <summary> /// 打印时的标题 /// </summary> public string PrintHeader { set { _PrintHeader=value; } } /// <summary> /// 进行打印 /// </summary> public void Print() { try { if(DevExpress.XtraPrinting.PrintHelper.IsPrintingAvailable) { if(_PrintHeader!=null) { PageHeaderFooter phf = link.PageHeaderFooter as PageHeaderFooter; phf.Header.Content.Clear(); phf.Header.Content.AddRange(new string[] {"",_PrintHeader,""}); phf.Header.Font=new System.Drawing.Font("宋体",14,System.Drawing.FontStyle.Bold); phf.Header.LineAlignment=BrickAlignment.Center; } link.PaperKind=ps.PageSettings.PaperKind; link.Margins=ps.PageSettings.Margins; link.Landscape=ps.PageSettings.Landscape; link.CreateDocument(); link.CreateDocument(); ps.Print(); } else { Cursor.Current=Cursors.Default; MessageBox.Show("打印机不可用", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } finally { } } private void ps_AfterMarginsChange(object sender, MarginsChangeEventArgs e) { SavePageSetting(); } private void ps_PageSettingsChanged(object sender, EventArgs e) { SavePageSetting(); } //获取页面设置信息 void LoadPageSetting() { try { string path=System.Windows.Forms.Application.StartupPath+"\\PrintLayout"; if(!System.IO.Directory.Exists(path)) { return; } path+="\\"+formName+".xml"; if(!System.IO.File.Exists(path)) { return; } XmlSerializer ser=new XmlSerializer(typeof(UserPageSetting)); UserPageSetting setting=(UserPageSetting)ser.Deserialize(new System.IO.FileStream(path,System.IO.FileMode.Open,System.IO.FileAccess.Read,System.IO.FileShare.ReadWrite)); System.Drawing.Printing.Margins m=new System.Drawing.Printing.Margins(setting.Left,setting.Right,setting.Top,setting.Bottom); ps.PageSettings.Assign(m,(System.Drawing.Printing.PaperKind)setting.PaperKind,setting.Landscape); } catch{} } /// <summary> /// 保存当前网格的布局 /// </summary> void SavePageSetting() { try { string path=System.Windows.Forms.Application.StartupPath+"\\PrintLayout"; if(!System.IO.Directory.Exists(path)) { System.IO.Directory.CreateDirectory(path); } path+="\\"+formName+".xml"; DevExpress.XtraPrinting.XtraPageSettings setting= ps.PageSettings; UserPageSetting s=new UserPageSetting(); s.Landscape=setting.Landscape; s.Left=setting.Margins.Left; s.Right=setting.Margins.Right; s.Top=setting.Margins.Top; s.Bottom=setting.Margins.Bottom; s.PaperKind=(int)setting.PaperKind; XmlSerializer ser=new XmlSerializer(s.GetType()); ser.Serialize(new System.IO.FileStream(path,System.IO.FileMode.Create,System.IO.FileAccess.Write,System.IO.FileShare.ReadWrite),s); } catch{} } } /// <summary> /// 最终用户对某个打印页的设置 /// </summary> [Serializable()] public class UserPageSetting { public UserPageSetting() { } public bool Landscape; public int PaperKind; public int Top; public int Bottom; public int Left; public int Right; } }
3、Devexpress 自定义打印方法请参考 http://www.evget.com/zh-cn/evquestions/viewinfo.aspx?qid=1013
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
文章转载自:慧都科技面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号