⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datagridprinter.cs

📁 列车时刻查询Visual Studio 2005 + sql2005
💻 CS
字号:
using System;
using System.Drawing;
using System.Drawing.Printing;
using System.Windows.Forms;
using System.Data;

namespace train
{
	/// <summary>
	/// DataGridPrinter负责打印
	/// </summary>
	public class DataGridPrinter
	{

		private DataTable table;
		private PrintDocument printDocument;
		private PageSetupDialog pageSetupDialog;
		private PrintPreviewDialog printPreviewDialog;

		public DataGridPrinter(DataTable printtable)
		{
			printDocument=new PrintDocument();
			table=printtable;
		}


		/// <summary>
		/// 实现打印事件
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		private void printDocument_PrintPage(object sender,PrintPageEventArgs e)
		{
			Font objFont=new Font("Tahoma",12,FontStyle.Regular);
			Brush objBrush=Brushes.Black;
			Pen objPen=new Pen(objBrush);
			objPen.Width=3;
			float nleft=pageSetupDialog.PageSettings.Margins.Left;
			float ntop=pageSetupDialog.PageSettings.Margins.Top;
			for(int i=0;i<table.Columns.Count;i++)
			{
				e.Graphics.DrawString(table.Columns[i].ColumnName,objFont,objBrush,nleft,ntop);
				nleft=nleft+180;
			}
			ntop=ntop+20;
			try
			{	
				for(int i=0;i<table.Rows.Count;i++)
				{
					ntop=ntop+20;
					nleft=pageSetupDialog.PageSettings.Margins.Left;
					for(int j=0;j<table.Columns.Count;j++)
					{
						e.Graphics.DrawString(table.Rows[i][j].ToString(),objFont,objBrush,nleft,ntop);
						nleft=nleft+180;
					}
				}
			}
			catch(Exception ex)
			{
				Console.WriteLine(ex.Message);
			}

		}


		/// <summary>
		/// 打印数据
		/// </summary>
		public void Print()
		{
			printDocument.PrintPage+=new PrintPageEventHandler(printDocument_PrintPage);
			try
			{
				pageSetupDialog=new PageSetupDialog();
				pageSetupDialog.Document=printDocument;
				pageSetupDialog.Document.DefaultPageSettings.Landscape=true;
				if(pageSetupDialog.ShowDialog()==DialogResult.OK)
				{
					printPreviewDialog=new PrintPreviewDialog();
					printPreviewDialog.Document=printDocument;
					printPreviewDialog.Height=600;
					printPreviewDialog.Width=800;
					printPreviewDialog.ShowDialog();
				}
			}
			catch(Exception e)
			{	
				throw new Exception("打印出现错误:"+e.Message);
			}
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -