c# 循环打印

lanyubaic 2013-08-15 09:48:51
从数据库获取一组数据
每一组对应 一单据
我想循环 将这些单据 在一个模板上打印

就是 每循环一次做一次打印 textbox 重新赋值 。
...全文
156 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lanyubaic 2013-08-15
  • 打赏
  • 举报
回复
打印不出来东西,不知道打印机问题,还是程序问题 for (int i = 0; i < 5; i++) { string ddh = this.dataGridView1.Rows[i].Cells["order_id"].Value.ToString(); string kdgs = this.dataGridView1.Rows[i].Cells["require_kdname"].Value.ToString(); order = ddh + "," + kdgs; testprint(ddh + "," + kdgs, printName); } #region 调用打印方法 /// <summary> /// 调用打印方法 /// </summary> /// <param name="order_id">订单号</param> /// <param name="printname">打印机名称</param> /// <returns></returns> public void testprint(string order_id, string printname) { printDocument = new PrintDocument(); printDocument.PrinterSettings.PrinterName = printname; printDocument.DefaultPageSettings.PaperSize = new PaperSize("Custum", 906, 500); printDocument.PrintPage += new PrintPageEventHandler(this.MyPrintDocument_PrintPage); //将写好的格式给打印预览控件以便预览 printPreviewDialog1.Document = printDocument; printDocument.DocumentName = order_id; printDocument.Print(); } #region 打印的格式 /// <summary> /// 打印的格式 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void MyPrintDocument_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { prints(e, order); } #endregion #region 打印 方法 /// <summary> /// 快递 公司 /// </summary> /// <param name="e">打印 PrintPageEventArgs</param> /// <param name="kd_company">快递公司</param> public void prints(PrintPageEventArgs e,string order_ids) { string[]str=order_ids.Split(','); DataTable dt = new DataTable(); dt = sqlhelpter.filefield(str[0]); string ecshop_no = dt.Rows[0]["ecshop_no"].ToString(); string order_id = dt.Rows[0]["order_id"].ToString(); string sale_address = dt.Rows[0]["sale_address"].ToString(); string sale_name = dt.Rows[0]["sale_name"].ToString(); string sale_tel = dt.Rows[0]["sale_tel"].ToString(); string prd_name = dt.Rows[0]["prd_name"].ToString(); string Nowtime = DateTime.Now.ToString("yy-MM-dd"); string jjr = "网络客服部"; string gsyjbm = ""; string 寄件单位名称 = "湖南倍康卫生用品有限公司"; string 收件单位 = ""; string 始发地 = "湖南省长沙市宁乡县经济开发区创业大道一号"; string 寄件电话 = ""; string 寄件邮编 = ""; if(!string.IsNullOrEmpty(str[1].Trim())) { string kd_name=str[1]; if(kd_name=="运达") { ExpressTemplate.tempYunda(e, a, jjr, "湖南", sale_name, "", 寄件单位名称, 收件单位, 始发地, sale_address, 寄件电话, 寄件邮编, sale_tel, prd_name, Nowtime); } else if(kd_name=="中通") { ExpressTemplate.ZTOEXPESS(e,a, jjr, "湖南", sale_name, "", 寄件单位名称, 收件单位, 始发地, sale_address, 寄件电话, 寄件邮编, sale_tel, prd_name, Nowtime);} else if(kd_name=="申通") { ExpressTemplate.ShentongExpress(e, a, jjr, "湖南", sale_name, "", 寄件单位名称, 收件单位, 始发地, sale_address, 寄件电话, 寄件邮编, sale_tel, prd_name, Nowtime); } else if(kd_name=="天天快递") { ExpressTemplate.TTPRESS(e, a, jjr, "湖南", sale_name, "", 寄件单位名称, 收件单位, 始发地, sale_address, 寄件电话, 寄件邮编, sale_tel, prd_name, Nowtime); } else if(kd_name=="EMS") { ExpressTemplate.EMSPRESSS(e, a, jjr, "湖南", sale_name, "", 寄件单位名称, 收件单位, 始发地, sale_address, 寄件电话, 寄件邮编, sale_tel, prd_name, Nowtime); } else if(kd_name=="汇通快递") { ExpressTemplate.HTEXPRESS (e, a, jjr, "湖南", sale_name, "", 寄件单位名称, 收件单位, 始发地, sale_address, 寄件电话, 寄件邮编, sale_tel, prd_name, Nowtime); } else if(kd_name=="优速快递") { ExpressTemplate.ShentongExpress(e, a, jjr, "湖南", sale_name, "", 寄件单位名称, 收件单位, 始发地, sale_address, 寄件电话, 寄件邮编, sale_tel, prd_name, Nowtime); } else if(kd_name=="顺丰快递") { ExpressTemplate.ShentongExpress(e, a, jjr, "湖南", sale_name, "", 寄件单位名称, 收件单位, 始发地, sale_address, 寄件电话, 寄件邮编, sale_tel, prd_name, Nowtime); } else if(kd_name=="顺丰速运") { ExpressTemplate.ShentongExpress(e, a, jjr, "湖南", sale_name, "", 寄件单位名称, 收件单位, 始发地, sale_address, 寄件电话, 寄件邮编, sale_tel, prd_name, Nowtime); } } } #endregion #endregion
周美文 2013-08-15
  • 打赏
  • 举报
回复
你这不都有思路了吗?纠结什么呢?

110,547

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧