using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Data.OleDb;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;using System.Drawing.Printing;namespace ColorDemo{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } //public DataSet ExecuteDataSet(string sql) //{ // string strCon = "server=.;Database=Northwind;uid=sa;pwd=123456"; // SqlConnection con = new SqlConnection(strCon); // SqlCommand cmd = new SqlCommand(sql, con); // SqlDataAdapter da = new SqlDataAdapter(cmd); // DataSet ds = new DataSet(); // da.Fill(ds); // con.Close(); // return ds; //} private void Form1_Load(object sender, EventArgs e) { // dgvInfo2.DataSource = ExecuteDataSet("select * from Products").Tables[0]; OleDbConnection con1 = new OleDbConnection(); con1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" System.Windows.Forms.Application.StartupPath "\\HeDao.mdb"; con1.Open(); string sql = "select * from 工程量估算"; OleDbDataAdapter ad = new OleDbDataAdapter(sql, con1); DataTable dt = new DataTable(); ad.Fill(dt); dgvInfo2.DataSource = dt.DefaultView; dgvInfo2.Refresh(); con1.Close(); } private void PrintDocument_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { } private void btnPrint_Click(object sender, EventArgs e) { //this.ppd.ShowDialog(); this.pdGrid.ShowDialog(); } private void printPreviewDialog1_Load(object sender, EventArgs e) { } private void PrintDataGridView_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { } private void pdGrid_PrintPage(object sender, PrintPageEventArgs e) { Font font = new Font("宋体", 12); SizeF s = e.Graphics.MeasureString("菜单信息", font); //Point offset = e.MarginBounds.Location;//e.MarginBounds用户的打印区域 //e.Graphics.DrawString("菜单信息",font,Brushes.Black,new PointF(offset.X (e.MarginBounds.Width-s.Width)/2.0f,offset.Y)); //offset.Offset(0,(int)Math.Round(s.Height) 10); //e.Graphics.DrawImage( e.Graphics.DrawString("菜单信息", font, Brushes.Red, 400, 20); e.Graphics.DrawString("时间" DateTime.Now.ToLongDateString(), font, Brushes.Black, 20, 40); int x = 10; int y = 70; this.pdGrid.Print(dgvInfo2, true, e, ref x, ref y); //注意:PrintDataGridView该类位于上面所写的业务逻辑层之中 } private void button1_Click(object sender, EventArgs e) { PrintDGV.Print_DataGridView(this.dgvInfo2); } }}
评论