回复 4楼wugrid的帖子
根据你的需求,如果要把内容打印到特定的位置,可以使用C1FlexGrid.PrintParameters.PrintDocument.PrintPage事件。在事件里面指定打印的内容、字体以及打印的位置。
我做了测试程序演示打印1楼的表格,效果如下图:
如下是参考代码,和你实际的大小会有点出入,你可以自己调整代码里面DrawString方法里的x,y,改变打印位置。也可以改变Font,自己给不同的行设置字体。
- private void button1_Click(object sender, EventArgs e)
- {
- System.Drawing.Printing.PrintDocument pd = this.c1FlexGrid1.PrintParameters.PrintDocument;
- pd.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(pd_PrintPage);
- pd.Print();
- }
- void pd_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
- {
- Font fontNr = new System.Drawing.Font("宋体", 16);
- Font fontNr2=new System.Drawing.Font("宋体", 12);
- e.Graphics.DrawString("产品入库报表", fontNr, Brushes.Black, 350, 50);
- e.Graphics.DrawString("销售单位:\t\t\t\t\t"+"日期:"+Microsoft.VisualBasic.Strings.Format(DateTime.Today, "yyyy年MM月dd日"), fontNr2, Brushes.Black, 100, 80);
-
- //打印到最后一页
- if (!e.HasMorePages)
- {
- Font fontNr3 = new System.Drawing.Font("宋体", 12);
- e.Graphics.DrawString("接收人:\t\t\t\t\t" + "会计:", fontNr3, Brushes.Black, 100, 480);
- }
- }
复制代码 |