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...