private void gdvListado_CellClick(object sender, DataGridViewCellEventArgs e) { try { if (e.ColumnIndex == this.gdvListado.Columns["Detalle"].Index) { int idventa = Convert.ToInt32(gdvListado.SelectedCells[1].Value); string total = Convert.ToString(gdvListado.SelectedCells[7].Value); string textoNumero = NumeroATexto(total); ParametrosReporte reporte = DatVenta.Consultar_Ticket_Parametro(idventa); reporte.LetraNumero = textoNumero; if (rbTicket.Checked == true) { rptTicket rptTicket = new rptTicket(); rptTicket.tbTicket.DataSource = reporte.lstDetalleVenta; rptTicket.DataSource = reporte; reportViewer1.Report = rptTicket; } else if (RbtnMod2.Checked) { ReportTicket rptTicket = new ReportTicket(); rptTicket.tbTicket.DataSource = reporte.lstDetalleVenta; rptTicket.DataSource = reporte; reportViewer1.Report = rptTicket; } else { rtpRecibo recibo = new rtpRecibo(); recibo.tblVentaProducto.DataSource = reporte.lstDetalleVenta; recibo.DataSource = reporte; reportViewer1.Report = recibo; } reportViewer1.RefreshReport(); } } catch (Exception ex) { MessageBox.Show("Error de al intentar obtener el ticket " + ex.Message, "Error de lectura", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void ImprimirTicket(Venta venta) { #region TICKET string textoNumero = Convertir_NumeroLetra.NumeroATexto(venta.MontoTotal.ToString()); // DataTable dt = DatDetalleVenta.ObtenerDatos_Ticket(venta.Id, textoNumero); ParametrosReporte reporte = DatVenta.Consultar_Ticket_Parametro(venta.Id); reporte.LetraNumero = textoNumero; //rptTicket rptTicket = new rptTicket(); ReportTicket rptTicket = new ReportTicket(); rptTicket.tbTicket.DataSource = reporte.lstDetalleVenta; rptTicket.DataSource = reporte; reportViewer1.Report = rptTicket; reportViewer1.RefreshReport(); #endregion try { string impresora = DatBox.Obtener_ImpresoraTicket(serialPC, "TICKET"); TICKET = new PrintDocument(); TICKET.PrinterSettings.PrinterName = impresora; if (TICKET.PrinterSettings.IsValid) { PrinterSettings printerSettings = new PrinterSettings(); printerSettings.PrinterName = impresora; ReportProcessor reportProcessor = new ReportProcessor(); reportProcessor.PrintReport(reportViewer1.ReportSource, printerSettings); } } catch (Exception ex) { MessageBox.Show("Error al imprimir el ticket : " + ex.Message, "Error de impresión", MessageBoxButtons.OK, MessageBoxIcon.Information); } }