功能有限,暂时不能分页,有待进一步完善。

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(4030740, aa.Tables[0].Rows.Count * 30 + 130);
            g.DrawRectangle(pen, rect);
            g.DrawString(aa.DataSetName, HeadFont, 
new SolidBrush(Color.Black), 20050);
            g.DrawString(
"发往厂家:" + aa.Tables[0].TableName, BodyFont, new SolidBrush(Color.Black), 7090);
            g.DrawString(
"出厂日期:" + DateTime.Now.ToLongDateString(), BodyFont, new SolidBrush(Color.Black), 50090);
            rect 
= new Rectangle(6011070030);
            g.DrawRectangle(pen, rect);
            g.DrawString(aa.Tables[
0].Columns[0].ColumnName, BodyFont, new SolidBrush(Color.Black), 70120);
            g.DrawLine(pen, 
150110150140);
            g.DrawString(aa.Tables[
0].Columns[1].ColumnName, BodyFont, new SolidBrush(Color.Black), 160120);
            g.DrawLine(pen, 
300110300140);
            g.DrawString(aa.Tables[
0].Columns[2].ColumnName, BodyFont, new SolidBrush(Color.Black), 310120);
            g.DrawLine(pen, 
500110500140);
            g.DrawString(aa.Tables[
0].Columns[3].ColumnName, BodyFont, new SolidBrush(Color.Black), 510120);
            
for (int i = 0; i < aa.Tables[0].Rows.Count; i++)
            
{
                g.DrawLine(pen, 
60110 + 30 * (i + 1), 60140 + 30 * (i + 1));
                g.DrawString(aa.Tables[
0].Rows[i][0].ToString(), BodyFont, new SolidBrush(Color.Black), 70120 + 30 * (i + 1));
                g.DrawLine(pen, 
150110 + 30 * (i + 1), 150140 + 30 * (i + 1));
                g.DrawString(aa.Tables[
0].Rows[i][1].ToString(), BodyFont, new SolidBrush(Color.Black), 160120 + 30 * (i + 1));
                g.DrawLine(pen, 
300110 + 30 * (i + 1), 300140 + 30 * (i + 1));
                g.DrawString(aa.Tables[
0].Rows[i][2].ToString(), BodyFont, new SolidBrush(Color.Black), 310120 + 30 * (i + 1));
                g.DrawLine(pen, 
500110 + 30 * (i + 1), 500140 + 30 * (i + 1));
                g.DrawString(aa.Tables[
0].Rows[i][3].ToString(), BodyFont, new SolidBrush(Color.Black), 510120 + 30 * (i + 1));
                g.DrawLine(pen, 
760110 + 30 * (i + 1), 760140 + 30 * (i + 1));
                g.DrawLine(pen, 
60140 + 30 * (i + 1), 760140 + 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;
        }
private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
        
{
            
try
            
{
                two(e, CreateDate());
            }

            
catch (Exception Err)
            
{
                MessageBox.Show(Err.Message);
            }

        }
posted on 2007-06-18 11:26  wkjs  阅读(684)  评论(0编辑  收藏  举报