DataSet 多页套打的实践--发票套打

前天一个朋友托我帮他做一个连续套打的,就是有一大对证书,要能一键搞定。参考了CSDN里的一篇文章,和我们英明的大雨同志套打源码的启发现改如下:
源代码:https://files.cnblogs.com/slave2/PointPrint.rar 
如有疑问请联系msn: jzknew@hotmail.com
拒绝非授权状态下的转载,谢谢!

 1// The PrintPage event is raised for each page to be printed.
 2        private void pd_PrintPage(object sender, PrintPageEventArgs ev) 
 3        {
 4            int n=1;
 5            String drawString="";
 6            if(this.printDS.Tables.Count<=0)
 7            {
 8                //如果该表格为0 则从数据源复制表格
 9                this.printDS=ds.Copy();
10            }

11            
12            for(int j=0;j<this.printDS.Tables[0].Rows.Count&&n<2;j++)
13            {
14                for(int i=1;i<this.printDS.Tables[0].Columns.Count;i++)
15                {
16                    DataRow row=this.printDS.Tables[0].Rows[j];
17                    // Create string to draw.
18                    drawString = this.printDS.Tables[0].Rows[j][i].ToString();
19                    // Create font and brush.
20                    //Font drawFont = new Font("宋体", 14);
21                    Font drawFont=new Font(GetString("PointFont","family"),float.Parse(GetString("PointFont","size")));
22                    SolidBrush drawBrush = new SolidBrush(Color.Black);
23                    // Create point for upper-left corner of drawing.
24                    string tmp="Point"+i.ToString();
25                    float x = this.GetXPoint(tmp);
26                    float y = this.GetYPoint(tmp);
27                    // Set format of string.
28                    StringFormat drawFormat = new StringFormat();
29                    //drawFormat.FormatFlags = StringFormatFlags.DirectionRightToLeft;
30                    // Draw string to screen.
31                    ev.Graphics.DrawString(drawString, drawFont, drawBrush, x, y, drawFormat);
32                }

33                          
34                //去掉已打印的   
35                n++;
36                this.printDS.Tables[0].Rows.RemoveAt(j);   
37//                j--;   
38
39
40            }

41
42
43
44        
45
46
47            //判定是否已经打印完
48            if(this.printDS.Tables[0].Rows.Count>0)
49<img id=Codehighlighter1_1391_1422_Open_Image onclick="this.style.display='none'; Codehighlighter1_1391_1422_Open_Text.style.display='none'; Codehighlighter1_1391_1422_Closed_Image.style.display='inline'; Codehighlighter1_1391_1422_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndica
posted @ 2006-09-16 19:48  拒绝潜水的鱼  阅读(1732)  评论(3编辑  收藏  举报