public void RefeshData(Object sender, EventArgs e) { List <Jkd> li = new JkdManager().GetList(deBegin.Text + " 00:00:00", deEnd.Text + " 23:59:59", cbeJKR.Text); MoneyConvertChinese mcc = new MoneyConvertChinese(); li.ForEach(item => item.JeDX = mcc.MoneyToChinese(item.Je.ToString())); gridControl1.DataSource = li.Where(item => item.Isdelete == 0).ToList(); }
private void sbPrint_Click(bool flag) { myaccount.dysj = DateTime.Now; new AccountManager().Update(myaccount); XtraReport xr = new JdkRep(); List <Jkd> myjkd = new JkdManager().GetList(int.Parse(teID.Text.Trim())); MoneyConvertChinese mcc = new MoneyConvertChinese(); myjkd.ForEach(item => item.JeDX = mcc.MoneyToChinese(item.Je.ToString())); xr.DataSource = myjkd; new MyReport(xr, "JdkRep.repx", flag); }
public ActionResult PurchaseM(string format = "", string id = "") { var purchase = db.V_GM_MPurchase.Where(w => w.GID == id).ToList().FirstOrDefault(); if (purchase.IsEnableNo != "审核通过") { X.Msg.Alert("提示", "未通过审核的采购单无法导出").Show(); return(this.Direct()); } var dt = db.V_GM_DM.Where(w => w.Remark == id).ToList(); var dt2 = db.V_GM_MApply.Where(w => w.GID == purchase.AMGID).ToList().FirstOrDefault(); LocalReport localReport = new LocalReport { ReportPath = Server.MapPath(@"~\Areas\reportforms\Report\PurchaseReport\PurchaseList.rdlc") }; ReportDataSource reportDataSource = new ReportDataSource("PurchaseM", dt); localReport.DataSources.Add(reportDataSource); var project = db.V_GM_DetailProject.Where(w => w.ProjectNo == purchase.ProjectNo).ToList().FirstOrDefault(); string warehouseid = project.WarehouseID; var warehouse = db.T_GM_Warehouse.First(l => l.WarehouseID == warehouseid); string managerEmployeeId = warehouse.Manager; var warehousemanager = db.T_HR_Staff.First(l => l.StaffID == managerEmployeeId); localReport.SetParameters(new ReportParameter("FieldName", warehouse.Location)); localReport.SetParameters(new ReportParameter("Name", warehousemanager.Name)); localReport.SetParameters(new ReportParameter("ReceiveTel", warehousemanager.TelNum)); localReport.SetParameters(new ReportParameter("ProjectName", project.ProjectName)); localReport.SetParameters(new ReportParameter("DeliverWay", purchase.ReceiptMethod)); localReport.SetParameters(new ReportParameter("ProjectNO", project.ProjectNo)); localReport.SetParameters(new ReportParameter("OrderNO", purchase.PurchaseMNo)); string supplierid = purchase.SupplierID; var supplier = db.T_GM_SupplierInfo.First(l => l.SupplierID == supplierid); localReport.SetParameters(new ReportParameter("Supplier", purchase.SupplierName)); localReport.SetParameters(new ReportParameter("SupplierAddress", supplier.Address)); localReport.SetParameters(new ReportParameter("SupplierContacts", supplier.Contact)); localReport.SetParameters(new ReportParameter("Tel", supplier.Tel)); localReport.SetParameters(new ReportParameter("Tax", supplier.Tax)); localReport.SetParameters(new ReportParameter("PayWay", supplier.PaymentCycle)); localReport.SetParameters(new ReportParameter("ApplyTime", purchase.PrepaidDay.Value.ToShortDateString())); localReport.SetParameters(new ReportParameter("PurchaseStaff", purchase.Name)); float sumAmount = 0; dt.ForEach( delegate(V_GM_DM item) { sumAmount += Convert.ToSingle(item.Price * item.Num); }); localReport.SetParameters(new ReportParameter("SumAmount", sumAmount.ToString("N"))); localReport.SetParameters(new ReportParameter("SumAmountChinese", MoneyConvertChinese.MoneyToChinese(sumAmount.ToString("N")))); Warning[] warnings; string[] streams; string reportType; string mimeType; string encoding; string fileNameExtension; switch (format) { case "Image": reportType = "png"; break; case "Excel": reportType = "xls"; break; case "PDF": reportType = "pdf"; break; case "Word": reportType = "doc"; break; default: reportType = "pdf"; break; } string deviceInfo = "<DeviceInfo>" + " <OutputFormat>" + reportType + "</OutputFormat>" + "</DeviceInfo>"; var renderedBytes = localReport.Render( format, deviceInfo, out mimeType, out encoding, out fileNameExtension, out streams, out warnings); return(File(renderedBytes, mimeType)); }
public void RefundCostume_PrintPage2(object sender, PrintPageEventArgs e) { Graphics g = e.Graphics; //获得绘图对象 Font font = new Font(new FontFamily("黑体"), 11); Font boldFont = new Font(new FontFamily("黑体"), 11, FontStyle.Bold); Font boldFontBig = new Font(new FontFamily("黑体"), 15); float linesPerPage = 0; //页面的行号 // float yPosition = 0; //绘制字符串的纵向位置 int count = 0; //行计数器 float leftMargin = e.MarginBounds.Left; //左边距 float topMargin = e.MarginBounds.Top; //上边距 float rightMargin = e.MarginBounds.Right; string line = null; //行字符串 SolidBrush myBrush = new SolidBrush(Color.Black); //刷子 linesPerPage = e.MarginBounds.Height / font.GetHeight(g); //每页可打印的行数 //逐行的循环打印一页 //while (count < linesPerPage && ((line = lineReader.ReadLine()) != null)) // { // yPosition = topMargin + (count * PrintFont.GetHeight(g)); // g.DrawString(line, PrintFont, myBrush, leftMargin, yPosition); // count++; // } StringBuilder sb = new StringBuilder(); String seperator_line = "-------------------------------------------------"; StringFormat strFormat = new StringFormat(); strFormat.Alignment = StringAlignment.Near; strFormat.Trimming = StringTrimming.EllipsisWord; line = ""; g.DrawString(line, font, myBrush, leftMargin, topMargin + (count++) * font.GetHeight(g)); int splitSize = 0; /* if (RefundCostume.RefundOrder.ShopID == "_online") { * splitSize = (seperator_line.Length - RefundCostume.RefundOrder.ShopName.Length) / 2; * } * else * {*/ string str = " 收 款 凭 证"; splitSize = Convert.ToInt32(rightMargin - leftMargin - 160 - str.Length) / 2; // } String strShop = String.Empty; for (int i = 0; i < splitSize / 2; i++) { strShop += " "; } //if (CurrentPTemplate.SystemVariables.Contains("店铺")) //{ /* if (RefundCostume.RefundOrder.ShopID == "_online") { * line = strShop + RefundCostume.RefundOrder.ShopName; * } * else * { * line = strShop + CommonGlobalCache.GetShop(RefundCostume.RefundOrder.ShopID).Name; * }*/ string titleStr = string.Empty; for (int i = 0; i < splitSize / 2; i++) { titleStr += " "; } float yy = topMargin + (count++) * font.GetHeight(g); line = titleStr + " 收 款 凭 证" + " "; g.DrawString(line, boldFontBig, myBrush, leftMargin, yy); float StartLeft = leftMargin; StartLeft += leftMargin + 500; line = " " + "NO:" + suplierRecord.SourceOrderID; g.DrawString(line, font, myBrush, StartLeft, yy); line = " "; g.DrawString(line, font, myBrush, leftMargin, topMargin + (count++) * font.GetHeight(g)); // } //line = "\t\t" + CommonGlobalCache.CurrentShop?.Name + "\t\t"; //g.DrawString(line, boldFontBig, myBrush, leftMargin, topMargin + (count++) * font.GetHeight(g)); line = strShop + strShop + " " + suplierRecord.CreateTime.ToLongDateString(); g.DrawString(line, font, myBrush, leftMargin, topMargin + (count++) * font.GetHeight(g)); // line = seperator_line; //if (CurrentPTemplate.SystemVariables.Contains("单号")) //{ line = " "; g.DrawString(line, font, myBrush, leftMargin, topMargin + (count++) * font.GetHeight(g)); Font fontnew = new Font("宋体", 11, FontStyle.Underline, GraphicsUnit.Point); float newtabF = leftMargin + 80; float y = topMargin + (count++) * font.GetHeight(g); line = "交款单位: "; g.DrawString(line, font, myBrush, newtabF, y, strFormat); int lenSupStr = System.Text.Encoding.Default.GetBytes(suplierRecord.PfCustomerName).Length; int spacelen = Convert.ToInt32((e.MarginBounds.Width - 140)); String spaceStr = String.Empty; for (int i = 0; i < spacelen / 2 - lenSupStr; i++) { spaceStr += " "; } line = "_" + suplierRecord.PfCustomerName + spaceStr + "_"; g.DrawString(line, fontnew, myBrush, newtabF + 80, y); // g.DrawString(line, fontnew, myBrush, leftMargin + 80, topMargin + (count++) * font.GetHeight(g), strFormat); int CurWidth = e.MarginBounds.Width - Convert.ToInt32(newtabF); //newtabF+= line = " "; g.DrawString(line, fontnew, myBrush, newtabF + CurWidth - 2, y); line = ""; g.DrawString(line, font, myBrush, leftMargin, topMargin + (count++) * font.GetHeight(g)); // } //if (CurrentPTemplate.SystemVariables.Contains("日期")) //{ y = topMargin + (count++) * font.GetHeight(g); newtabF = leftMargin + 80; line = "人民币(大写):"; g.DrawString(line, font, myBrush, newtabF, y, strFormat); newtabF += 120; MoneyConvertChinese MConvertC = new MoneyConvertChinese(); int lenChinaStr = System.Text.Encoding.Default.GetBytes(MConvertC.MoneyToChinese(suplierRecord.AccountMoney.ToString())).Length; spacelen = Convert.ToInt32(e.MarginBounds.Width - (rightMargin - leftMargin) / 2) - 80; spaceStr = ""; for (int i = 0; i < spacelen / 2 - lenChinaStr; i++) { spaceStr += " "; } line = MConvertC.MoneyToChinese(suplierRecord.AccountMoney.ToString()) + spaceStr + "_"; g.DrawString(line, fontnew, myBrush, newtabF, y); newtabF += 260; line = "(小写):"; g.DrawString(line, font, myBrush, newtabF, y, strFormat); newtabF += 80; spacelen = 0; spacelen = Convert.ToInt32(e.MarginBounds.Width - (rightMargin - leftMargin) / 2) - 90; spaceStr = ""; for (int i = 0; i < spacelen / 2 - suplierRecord.AccountMoney.ToString().Length; i++) { spaceStr += " "; } line = "¥" + suplierRecord.AccountMoney + spaceStr + "_"; g.DrawString(line, fontnew, myBrush, newtabF, y, strFormat); //line = suplierRecord.AccountMoney + spaceStr + "_"; //g.DrawString(line, fontnew, myBrush, newtabF + 120, y); line = ""; g.DrawString(line, font, myBrush, leftMargin, topMargin + (count++) * font.GetHeight(g)); // } //if (CurrentPTemplate.SystemVariables.Contains("电话")) //{ line = "附注: "; g.DrawString(line, font, myBrush, leftMargin + 80, topMargin + (count++) * font.GetHeight(g)); line = ""; g.DrawString(line, font, myBrush, leftMargin, topMargin + (count++) * font.GetHeight(g)); // } //if (CurrentPTemplate.SystemVariables.Contains("地址")) //{ spaceStr = ""; int lenStr = System.Text.Encoding.Default.GetBytes(suplierRecord.Remarks).Length; spacelen = Convert.ToInt32((e.MarginBounds.Width - 120)); spaceStr = ""; for (int i = 0; i < spacelen / 2 - lenStr; i++) { spaceStr += " "; } line = "_" + suplierRecord.Remarks + spaceStr + "_"; g.DrawString(line, fontnew, myBrush, leftMargin + 80, topMargin + (count++) * font.GetHeight(g)); // } line = ""; g.DrawString(line, font, myBrush, leftMargin, topMargin + (count++) * font.GetHeight(g)); float tabF = leftMargin; float curAllwidth = rightMargin - leftMargin; count++; tabF = leftMargin + 80; //if (CurrentPTemplate.SystemVariables.Contains("数量")) //{ line = "单位盖章: "; g.DrawString(line, font, myBrush, tabF, topMargin + (count) * font.GetHeight(g)); tabF += 200; // } //if (CurrentPTemplate.SystemVariables.Contains("折扣优惠")) //{ line = "会计:"; g.DrawString(line, font, myBrush, tabF, topMargin + (count) * font.GetHeight(g)); tabF += 150; // } //if (CurrentPTemplate.SystemVariables.Contains("应收")) //{ line = "出纳:"; g.DrawString(line, font, myBrush, tabF, topMargin + (count) * font.GetHeight(g)); tabF += 150; // } line = "收款人:"; g.DrawString(line, font, myBrush, tabF, topMargin + (count) * font.GetHeight(g)); /* line = "1、凡商品售出7日内,在商品保持原样情况下,凭购物"; * g.DrawString(line, font, myBrush, leftMargin, topMargin + (count++) * font.GetHeight(g)); * line = " 凭证可调换同类产品"; * g.DrawString(line, font, myBrush, leftMargin, topMargin + (count++) * font.GetHeight(g)); * line = "2、本店商品,请您注意洗涤说明和保养"; * g.DrawString(line, font, myBrush, leftMargin, topMargin + (count++) * font.GetHeight(g)); */ line = ""; g.DrawString(line, font, myBrush, leftMargin, topMargin + (count++) * font.GetHeight(g)); /* if (this.CurrentPTemplate.IsPrintQRCode) * { * * if (CommonGlobalCache.EMallMiniProgramImg != null) * { * g.DrawImage(CommonGlobalCache.EMallMiniProgramImg, leftMargin + 20, topMargin + (count++) * font.GetHeight(g)); * } * // } * }*/ }
private static void setPrintDataGridView(RefundCostume item, DataGridView dataGridView2, PrintTemplateType type) { InteractResult <PrintTemplateInfo> result = CommonGlobalCache.ServerProxy.GetPrintTemplateInfo(type); //行列数基本不受限制,但超过一页失去意义,因为以Body为主,以其它为辅 // Header header = new Header(4, 2); //可以指定每页是否重复打印 if (result.ExeResult == ExeResult.Success) { PrintTemplateInfo CurrentPTemplate = result.Data; for (int c = 0; c < CurrentPTemplate.PrintCount; c++) { MisGoldPrinterOfReWrite misGoldPrinter = new MisGoldPrinterOfReWrite(false, new PrinterMargins(20, 20, 20, 20, 800, 1129)); misGoldPrinter.Title = CurrentPTemplate.OrderName; //主标题(C#用\n表示换行) } misGoldPrinter.Caption = ""; double headRow = Math.Round(Convert.ToSingle(CurrentPTemplate.SystemVariables.Count / 2)); Header header = new Header(Convert.ToInt32(headRow) + 1, 2); // CommonGlobalUtil.WriteLog("变量总数=" + CurrentPTemplate.SystemVariables.Count + "\r\n" + "应显示行号=" + headRow); header.IsDrawAllPage = true; #region Member _member = null; if (item.RefundOrder.MemeberID != null) { _member = CommonGlobalCache.ServerProxy.GetOneMember(item.RefundOrder.MemeberID); } for (int i = 0; i < CurrentPTemplate.SystemVariables.Count; i++) { int curR = 0; if (i < 2) { curR = 0; } else { double resRow = i / 2; curR = Convert.ToInt32(Math.Round(resRow)); } string KeyStr = ""; if (CurrentPTemplate.SystemVariables[i] == "销售单号") { KeyStr = "销售单号:"; header.SetText(curR, i % 2, CurrentPTemplate.SystemVariables[i] + ":" + item.RefundOrder.ID); } else if (CurrentPTemplate.SystemVariables[i] == "单据日期") { KeyStr = "单据日期:"; header.SetText(curR, i % 2, KeyStr + item.RefundOrder.CreateTime.GetDateTimeFormats('f')[0].ToString()); } else if (CurrentPTemplate.SystemVariables[i] == "客户名称") { KeyStr = "客户名称:"; string userName = string.Empty; if (_member != null) { userName = _member.Name; } header.SetText(curR, i % 2, KeyStr + userName); } else if (CurrentPTemplate.SystemVariables[i] == "客户电话") { KeyStr = "客户电话:"; string tel = string.Empty; if (_member != null) { tel = _member.PhoneNumber; } header.SetText(curR, i % 2, KeyStr + tel); } else if (CurrentPTemplate.SystemVariables[i] == "客户地址") { KeyStr = "客户地址:"; string address = string.Empty; if (_member != null) { address = _member.DetailAddress; } header.SetText(curR, i % 2, KeyStr + address); } else if (CurrentPTemplate.SystemVariables[i] == "操作人") { KeyStr = "操 作 人:"; header.SetText(curR, i % 2, KeyStr + CommonGlobalCache.GetUserName(item.RefundOrder.GuideID)); } else if (CurrentPTemplate.SystemVariables[i] == "单据备注") { KeyStr = "备 注:"; header.SetText(curR, i % 2, KeyStr + item.RefundOrder.Remarks.ToString()); } } #endregion misGoldPrinter.Header = header; // List<PrintColumnInfo> dataGV = CurrentPTemplate.PrintColumnInfos; List <PrintColumnInfo> dataGV = new List <PrintColumnInfo>(); PrintColumnInfo prinAutoIDColumn = new PrintColumnInfo(); prinAutoIDColumn.Name = "序列号"; prinAutoIDColumn.Rate = 5; dataGV.Add(prinAutoIDColumn); dataGV.AddRange(CurrentPTemplate.PrintColumnInfos); string ColumnsList = string.Empty; foreach (PrintColumnInfo itemC in dataGV) { ColumnsList += itemC.Name + ","; } CommonGlobalUtil.WriteLog("模板设置打印列表头为=" + ColumnsList + "\r\n"); //表格是否为零条记录 bool isflag = false; if (dataGV.Count == 0) { isflag = true; } List <int> columnCount = new List <int>(); int pinrtColNum = 0; string dataGridColumnsList = string.Empty; if (dataGridView2.Columns.Count > 0) { for (int i = 0; i < dataGridView2.Columns.Count; i++) { DataGridViewColumn column = dataGridView2.Columns[i]; if (dataGV.FindAll(t => t.Name == column.HeaderText).Count > 0) { columnCount.Add(i); dataGridColumnsList += column.HeaderText + ","; pinrtColNum++; } else { if (dataGV.FindAll(t => t.Name == column.DataPropertyName).Count > 0) { columnCount.Add(i); column.HeaderText = column.HeaderText.Replace("\r\n", " "); dataGridColumnsList += column.DataPropertyName + ","; pinrtColNum++; } else { if (column.DataPropertyName.Contains("XL")) { string name = column.DataPropertyName; //XL3 //3XL string newname = name.Replace("XL", ""); string checkstr = newname + "XL"; if (dataGV.FindAll(t => t.Name == checkstr).Count > 0) { columnCount.Add(i); column.HeaderText = column.HeaderText.Replace("\r\n", " "); dataGridColumnsList += column.DataPropertyName + ","; pinrtColNum++; } else { column.Visible = false; } } else { column.Visible = false; } } } if (isflag) { if (i == 0) { //打印设置模板不设置任何列,但由于MisGoldPrinter这个类的打印主体为DataGridView,所有必须设置一列默认空的 columnCount.Add(i); column.Visible = true; column.HeaderText = ""; DataTable dt = new DataTable(); DataColumn c1 = new DataColumn(); c1.ColumnName = "HeaderText"; dt.Columns.Add(c1); dataGridView2.DataSource = null; dataGridView2.DataSource = dt; } } //} } CommonGlobalUtil.WriteLog("DataGridView能打印的列为=" + dataGridColumnsList); MultiHeader multiHeader = new MultiHeader(1, dataGV.Count); for (int a = 0; a < dataGV.Count; a++) { multiHeader.SetText(0, a, dataGV[a].Name); } misGoldPrinter.DataSource = DataGridViewUtil.ToStringArray(dataGridView2, false, true); misGoldPrinter.RowsPerPage = CurrentPTemplate.Rows + 1; //根据设置传值 misGoldPrinter.IsSubTotalPerPage = true; int footerRowsNum = 0; if (((GoldPrinter.Body)(misGoldPrinter.Body)).Rows >= 2) { footerRowsNum = ((GoldPrinter.Body)(misGoldPrinter.Body)).Rows; } else { footerRowsNum = 2; } Footer footer = new Footer(footerRowsNum, dataGV.Count); int colIndex = -1; int colIndexSecond = -1; for (int b = 0; b < dataGV.Count; b++) { if (dataGV[b].Name == "金额") { colIndex = b; } if (dataGV[b].Name == "数量") { colIndexSecond = b; } } string addressStr = string.Empty; for (int a = 0; a < CurrentPTemplate.SystemVariables.Count; a++) { //if (dataGridView2.Rows.Count >= 2) //{ if (CurrentPTemplate.SystemVariables[a] == "店铺地址") { Shop curShop = CommonGlobalCache.GetShop(item.RefundOrder.ShopID); if (curShop != null) { footer.SetText(0, 0, "店铺地址:" + curShop.Address); } } if (CurrentPTemplate.SystemVariables[a] == "联系电话") { Shop curShop = CommonGlobalCache.GetShop(item.RefundOrder.ShopID); if (curShop != null) { footer.SetText(1, 0, "联系电话:" + curShop.PhoneNumber); } } //} //else if(dataGridView2.Rows.Count >= 1) //{ // if (CurrentPTemplate.SystemVariables[a] == "店铺地址") // { // if (item.RefundOrder.ShopID != null && item.RefundOrder.ShopID != "_online") // { // addressStr += "店铺地址:" + CommonGlobalCache.GetShop(item.RefundOrder.ShopID).Address; // } // } // if (CurrentPTemplate.SystemVariables[a] == "联系电话") // { // if (addressStr != string.Empty) // { // addressStr += " "; // } // if (item.RefundOrder.ShopID != null && item.RefundOrder.ShopID != "_online") // { // addressStr += "联系电话:" + CommonGlobalCache.GetShop(item.RefundOrder.ShopID).PhoneNumber; // } // } //} } //if (dataGridView2.Rows.Count == 1) //{ // footer.SetText(0, 0, addressStr); //} MoneyConvertChinese MConvertC = new MoneyConvertChinese(); //if (dataGridView2.Rows.Count > 1) //{ // footer.SetText(0, 0, "合计 金额大写 " + MConvertC.MoneyToChinese(item.RefundOrder.TotalMoneyReceived.ToString())); //} //else //{ // footer.SetText(0, 0, addressStr+ " 合计 金额大写 " + MConvertC.MoneyToChinese(item.RefundOrder.TotalMoneyReceived.ToString())); //} misGoldPrinter.EndSubTotalColsList = MConvertC.MoneyToChinese(item.RefundOrder.TotalMoneyReceived.ToString()) + ":" + item.RefundOrder.TotalMoneyReceived.ToString(); // footer.SetText(0, 1, "合计:" + item.RefundOrder.TotalMoneyReceived); /* if (dataGridView2.Rows.Count > 1 ) * { * //if (dataGV.Count >= 2) * //{ * * footer.SetText(1, 1, "合计:" + item.RefundOrder.TotalMoneyReceived); * //} * //else * //{ * * // footer.SetText(1, dataGV.Count, "合计:" + item.RefundOrder.TotalMoneyReceived); * //} * } * else * { * //if (dataGV.Count >= 2) * //{ * footer.SetText(0, 1, "合计:" + item.RefundOrder.TotalMoneyReceived); * //} * //else * //{ * * // footer.SetText(0, dataGV.Count, "合计:" + item.RefundOrder.TotalMoneyReceived); * //} * }*/ // PrinterBase pbase = footer.CalculatePageInfo(); //if (Math.Ceiling((decimal)dataGridView2.Rows.Count / CurrentPTemplate.Rows) > 1) //{ // footer.IsDrawAllPage = false; //} //else //{ // footer.IsDrawAllPage = true; //} misGoldPrinter.IsTotalIsDrawAllPage = false; footer.IsDrawAllPage = false; Bottom bottom = new Bottom(); bottom.IsDrawAllPage = true; // bottom.TopMargin // bottom.SetText("联系电话:"+CommonGlobalCache.GetShop(item.RetailOrder.ShopID).PhoneNumber); misGoldPrinter.SubTotalColsList = (colIndex).ToString() + ";" + (colIndexSecond).ToString(); //用分号分隔的要求小计的列 /* if (!Directory.Exists(CommonGlobalUtil.SystemDir + "EXPORTS\\")) * { * Directory.CreateDirectory(CommonGlobalUtil.SystemDir + "EXPORTS\\"); * } * misGoldPrinter.FileName = CommonGlobalUtil.SystemDir + "EXPORTS\\" + item.RetailOrder.ID + ".jpg";*/ ((GoldPrinter.Body)(misGoldPrinter.Body)).Font = dataGridView2.Font; int[] widths = new int[dataGV.Count]; for (int j = 0; j < dataGV.Count; j++) { widths[j] = Convert.ToInt32(dataGV[j].Rate); } List <int> widthList = new List <int>(); /* for (int i = 0; i < CurrentPTemplate.PrintColumnInfos.Count; i++) * { * DataGridViewColumn column = dataGridView2.Columns[columnCount[i]]; * if (column.Visible && !String.IsNullOrEmpty(column.HeaderText)) * { * widthList.Add(widths[i]); * } * * }*/ if (isflag) { widths = new int[1]; widths[0] = 100; // widthList.Add(widths[0]); } // widths = widthList.ToArray(); int newWidth = 800; /* int totalWidth = 0; * for (int i = 0; i < widths.Length; i++) * { * totalWidth += widths[i]; * }*/ //if (dataGridView2.Columns.Count > 0) //{ for (int i = 0; i < widths.Length; i++) { widths[i] = decimal.ToInt32(Math.Round((widths[i] * newWidth * (decimal)0.1), 0, MidpointRounding.AwayFromZero)); // widths[i] = decimal.ToInt32(Math.Round((widths[i] * newWidth * (decimal)1.0 / totalWidth), 0, MidpointRounding.AwayFromZero)); } CommonGlobalUtil.WriteLog("实际打印数量=" + pinrtColNum + "\r\n" + "设置能打印的列数量=" + widths.Length.ToString()); /* bottomFooter.ColsWidth = widths;*/ footer.ColsWidth = widths; misGoldPrinter.Footer = footer; /* misGoldPrinter.BottomFooter = bottomFooter;*/ misGoldPrinter.Bottom = bottom; multiHeader.ColsWidth = widths; misGoldPrinter.MultiHeader = multiHeader; multiHeader.ColsWidth = widths; ((GoldPrinter.Body)(misGoldPrinter.Body)).IsAverageColsWidth = false; ((GoldPrinter.Body)(misGoldPrinter.Body)).ColsWidth = widths; misGoldPrinter.Preview(); misGoldPrinter.Dispose(); misGoldPrinter = null; } } } }