GridControl gc = gridControl1; //绑定表格组件 GridView gv = gridView1; //设置打印出来的页面中表格自适应列宽(解决自动分页的问题) gv.OptionsPrint.AutoWidth = true; //实例化打印组件 PrintingSystem ps = new PrintingSystem(); PrintableComponentLink link = new PrintableComponentLink(ps); link.PaperKind = System.Drawing.Printing.PaperKind.A4; link.CreateMarginalHeaderArea += Link_CreateMarginalHeaderArea; link.Component = gc; link.Landscape = true; PageHeaderFooter phf = link.PageHeaderFooter as PageHeaderFooter; //页眉文字 string strHeader = lbCPWLH.Text + " " + lbXSDDH.Text + " " + lbSCDDH.Text + " " + lbPZ.Text + " " + lbMBSL.Text; //页脚文字 string strFooter = ""; //打印时间 string strPrintDate = String.Format("打印时间: {0:g}", DateTime.Now); phf.Header.Content.Clear(); phf.Header.Content.AddRange(new string[] { strHeader, "", "" }); phf.Header.Font = new System.Drawing.Font("宋体", 9, System.Drawing.FontStyle.Regular); phf.Header.LineAlignment = BrickAlignment.Far; phf.Footer.Content.Clear(); phf.Footer.Content.AddRange(new string[] { strFooter, "", "" }); phf.Footer.Font = new System.Drawing.Font("宋体", 9, System.Drawing.FontStyle.Regular); link.CreateDocument(); link.ShowPreview(); catch MessageBox.Show("打印时出错!", "REPORTSINGLECONFIRM printInfo"); //设置报表标题 private static void Link_CreateMarginalHeaderArea(object sender, CreateAreaEventArgs e) //报表标题 string title = "单 款 数 据 流 转 表"; PageInfoBrick brick = e.Graph.DrawPageInfo(PageInfo.None, title, Color.Black, new RectangleF(120, 0, 230, 30), DevExpress.XtraPrinting.BorderSide.None);//RectangleF这里的第三个参数决定了标题框的大小,如果标题字数增多或减少,要相应的改掉这个参数,否则会导致标题显示不全和无法居中 brick.LineAlignment = BrickAlignment.Center; brick.Alignment = BrickAlignment.Center; brick.AutoWidth = false; brick.Font = new Font("黑体", 15f, FontStyle.Bold); #endregion
通过几天的学习,终于对 打印 有了初步的认识,并实现了 打印 功能,下面将详细介绍下如何使用 Dev Express下的 打印 功能。 首先要实现 打印 功能必须添加一个引用: Dev Express.XtraPrint 实现 打印 需要用到的主要的类: 1. public class PrintingSystem : Component, ISupportInitialize,IPrintingSystem...
PrintingSystem print = new Dev Express.XtraPrinting.PrintingSystem(); PrintableComponentLink link = new PrintableComponentLink(print); print.Links.Add(link); link.Component = grid Control 2;//这里可以是可 打印 的部件 strin..
1.在解决方案中添加现有项目DLLFullPrint,然后在主工程中添加引用,引用这个项目。 2.在界面设计中,添加按钮PrintButton,双击它进入代码界面; 在代码文件中,首先使用using DLLFullPrint; 然后按钮点击事件中写入以下代码: private void printButton_Click(object sender, EventArgs e) { System.Data.DataTable dt = new System.Data.DataTable(); DataRow dr; // 设置 列表头 foreach (Data GridView Column headerCell in data GridView 1.Columns) { dt.Columns.Add(headerCell.HeaderText); } foreach (Data GridView Row item in data GridView 1.Rows) { dr = dt.NewRow(); for (int i = 0; i < dt.Columns.Count; i++) { dr[i] = item.Cells[i].Value.ToString(); } dt.Rows.Add(dr); } DataSet dy= new DataSet(); dy.Tables.Add(dt); MyDLL.TakeOver(dy); } 3.运行程序,点击 打印 按钮,弹出 打印 界面,调节界面, 打印 预览,需安装 打印 机。
using Dev Express.XtraEditors; using Dev Express.Xtra Grid ; using Dev Express.Xtra Grid .Columns; using Dev Express.Xtra Grid .Views.Base; using Dev Express.Xtra Grid .Views. Grid ; using De...