功能有限,暂时不能分页,有待进一步完善。
private void two(PrintPageEventArgs e, DataSet aa)
{
Font HeadFont = new Font("宋体", 18);
Font BodyFont = new Font("宋体", 12);
Graphics g = e.Graphics;
Pen pen = new Pen(Color.Black, 1);
Rectangle rect = new Rectangle(40, 30, 740, aa.Tables[0].Rows.Count * 30 + 130);
g.DrawRectangle(pen, rect);
g.DrawString(aa.DataSetName, HeadFont, new SolidBrush(Color.Black), 200, 50);
g.DrawString("发往厂家:" + aa.Tables[0].TableName, BodyFont, new SolidBrush(Color.Black), 70, 90);
g.DrawString("出厂日期:" + DateTime.Now.ToLongDateString(), BodyFont, new SolidBrush(Color.Black), 500, 90);
rect = new Rectangle(60, 110, 700, 30);
g.DrawRectangle(pen, rect);
g.DrawString(aa.Tables[0].Columns[0].ColumnName, BodyFont, new SolidBrush(Color.Black), 70, 120);
g.DrawLine(pen, 150, 110, 150, 140);
g.DrawString(aa.Tables[0].Columns[1].ColumnName, BodyFont, new SolidBrush(Color.Black), 160, 120);
g.DrawLine(pen, 300, 110, 300, 140);
g.DrawString(aa.Tables[0].Columns[2].ColumnName, BodyFont, new SolidBrush(Color.Black), 310, 120);
g.DrawLine(pen, 500, 110, 500, 140);
g.DrawString(aa.Tables[0].Columns[3].ColumnName, BodyFont, new SolidBrush(Color.Black), 510, 120);
for (int i = 0; i < aa.Tables[0].Rows.Count; i++)
{
g.DrawLine(pen, 60, 110 + 30 * (i + 1), 60, 140 + 30 * (i + 1));
g.DrawString(aa.Tables[0].Rows[i][0].ToString(), BodyFont, new SolidBrush(Color.Black), 70, 120 + 30 * (i + 1));
g.DrawLine(pen, 150, 110 + 30 * (i + 1), 150, 140 + 30 * (i + 1));
g.DrawString(aa.Tables[0].Rows[i][1].ToString(), BodyFont, new SolidBrush(Color.Black), 160, 120 + 30 * (i + 1));
g.DrawLine(pen, 300, 110 + 30 * (i + 1), 300, 140 + 30 * (i + 1));
g.DrawString(aa.Tables[0].Rows[i][2].ToString(), BodyFont, new SolidBrush(Color.Black), 310, 120 + 30 * (i + 1));
g.DrawLine(pen, 500, 110 + 30 * (i + 1), 500, 140 + 30 * (i + 1));
g.DrawString(aa.Tables[0].Rows[i][3].ToString(), BodyFont, new SolidBrush(Color.Black), 510, 120 + 30 * (i + 1));
g.DrawLine(pen, 760, 110 + 30 * (i + 1), 760, 140 + 30 * (i + 1));
g.DrawLine(pen, 60, 140 + 30 * (i + 1), 760, 140 + 30 * (i + 1));
}
}
{
Font HeadFont = new Font("宋体", 18);
Font BodyFont = new Font("宋体", 12);
Graphics g = e.Graphics;
Pen pen = new Pen(Color.Black, 1);
Rectangle rect = new Rectangle(40, 30, 740, aa.Tables[0].Rows.Count * 30 + 130);
g.DrawRectangle(pen, rect);
g.DrawString(aa.DataSetName, HeadFont, new SolidBrush(Color.Black), 200, 50);
g.DrawString("发往厂家:" + aa.Tables[0].TableName, BodyFont, new SolidBrush(Color.Black), 70, 90);
g.DrawString("出厂日期:" + DateTime.Now.ToLongDateString(), BodyFont, new SolidBrush(Color.Black), 500, 90);
rect = new Rectangle(60, 110, 700, 30);
g.DrawRectangle(pen, rect);
g.DrawString(aa.Tables[0].Columns[0].ColumnName, BodyFont, new SolidBrush(Color.Black), 70, 120);
g.DrawLine(pen, 150, 110, 150, 140);
g.DrawString(aa.Tables[0].Columns[1].ColumnName, BodyFont, new SolidBrush(Color.Black), 160, 120);
g.DrawLine(pen, 300, 110, 300, 140);
g.DrawString(aa.Tables[0].Columns[2].ColumnName, BodyFont, new SolidBrush(Color.Black), 310, 120);
g.DrawLine(pen, 500, 110, 500, 140);
g.DrawString(aa.Tables[0].Columns[3].ColumnName, BodyFont, new SolidBrush(Color.Black), 510, 120);
for (int i = 0; i < aa.Tables[0].Rows.Count; i++)
{
g.DrawLine(pen, 60, 110 + 30 * (i + 1), 60, 140 + 30 * (i + 1));
g.DrawString(aa.Tables[0].Rows[i][0].ToString(), BodyFont, new SolidBrush(Color.Black), 70, 120 + 30 * (i + 1));
g.DrawLine(pen, 150, 110 + 30 * (i + 1), 150, 140 + 30 * (i + 1));
g.DrawString(aa.Tables[0].Rows[i][1].ToString(), BodyFont, new SolidBrush(Color.Black), 160, 120 + 30 * (i + 1));
g.DrawLine(pen, 300, 110 + 30 * (i + 1), 300, 140 + 30 * (i + 1));
g.DrawString(aa.Tables[0].Rows[i][2].ToString(), BodyFont, new SolidBrush(Color.Black), 310, 120 + 30 * (i + 1));
g.DrawLine(pen, 500, 110 + 30 * (i + 1), 500, 140 + 30 * (i + 1));
g.DrawString(aa.Tables[0].Rows[i][3].ToString(), BodyFont, new SolidBrush(Color.Black), 510, 120 + 30 * (i + 1));
g.DrawLine(pen, 760, 110 + 30 * (i + 1), 760, 140 + 30 * (i + 1));
g.DrawLine(pen, 60, 140 + 30 * (i + 1), 760, 140 + 30 * (i + 1));
}
}
private DataSet CreateDate()
{
System.Data.DataTable dt = new System.Data.DataTable();
dt.TableName = "XXXXXXXXXX有限公司";
System.Data.DataRow dr;
dt.Columns.Add(new System.Data.DataColumn("序号", typeof(System.String)));
dt.Columns.Add(new System.Data.DataColumn("人渣编号", typeof(System.String)));
dt.Columns.Add(new System.Data.DataColumn("人渣名称", typeof(System.String)));
dt.Columns.Add(new System.Data.DataColumn("永久性标识", typeof(System.String)));
for (int i = 0; i < 30; i++)
{
System.Random rd = new System.Random(Environment.TickCount * i); ;
dr = dt.NewRow();
dr[0] = i.ToString().PadLeft(2, '0').ToString(); ;
dr[1] = "3401S-010-A-" + i.ToString().PadLeft(2, '0').ToString();
dr[2] = "XXXXXXX人渣" + i.ToString().PadLeft(2, '0').ToString();
dr[3] = "0704030336022" + i.ToString().PadLeft(2,'0').ToString(); ;
dt.Rows.Add(dr);
}
DataSet ds = new DataSet();
ds.DataSetName = "XXXXXXXXXXXXXXXXXXX人渣永久性标识附表";
ds.Tables.Add(dt);
return ds;
}
{
System.Data.DataTable dt = new System.Data.DataTable();
dt.TableName = "XXXXXXXXXX有限公司";
System.Data.DataRow dr;
dt.Columns.Add(new System.Data.DataColumn("序号", typeof(System.String)));
dt.Columns.Add(new System.Data.DataColumn("人渣编号", typeof(System.String)));
dt.Columns.Add(new System.Data.DataColumn("人渣名称", typeof(System.String)));
dt.Columns.Add(new System.Data.DataColumn("永久性标识", typeof(System.String)));
for (int i = 0; i < 30; i++)
{
System.Random rd = new System.Random(Environment.TickCount * i); ;
dr = dt.NewRow();
dr[0] = i.ToString().PadLeft(2, '0').ToString(); ;
dr[1] = "3401S-010-A-" + i.ToString().PadLeft(2, '0').ToString();
dr[2] = "XXXXXXX人渣" + i.ToString().PadLeft(2, '0').ToString();
dr[3] = "0704030336022" + i.ToString().PadLeft(2,'0').ToString(); ;
dt.Rows.Add(dr);
}
DataSet ds = new DataSet();
ds.DataSetName = "XXXXXXXXXXXXXXXXXXX人渣永久性标识附表";
ds.Tables.Add(dt);
return ds;
}
private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
{
try
{
two(e, CreateDate());
}
catch (Exception Err)
{
MessageBox.Show(Err.Message);
}
}
{
try
{
two(e, CreateDate());
}
catch (Exception Err)
{
MessageBox.Show(Err.Message);
}
}