private void btnGenerar_Click(object sender, EventArgs e) { Cursor = Cursors.WaitCursor; try { if (DtpFechaIni.Value != null & DtpFechaFin.Value != null & CboSede.SelectedIndex != -1 & c1cboCia.SelectedIndex != -1) { Fecinicio = Convert.ToDateTime(DtpFechaIni.Value.ToShortDateString()); FecFin = Convert.ToDateTime(DtpFechaFin.Value.ToShortDateString()); EmpresaSede = c1cboCia.SelectedValue.ToString() + CboSede.SelectedValue.ToString(); DtComprobante = ObjCL_Venta.GetVentasSede(Fecinicio, FecFin, EmpresaSede); DataSet Ds = new DataSet(); DataTable Dt = new DataTable("Logo"); Dt.Columns.Add("Logo", typeof(byte[])); Dt.Columns.Add("NomEmpresa", typeof(string)); DataRow Dr = Dt.NewRow(); // El campo productImage primero se almacena en un buffer DataRow[] customerRow = UTI_Datatables.DtEmpresas.Select("EmpresaID = '" + c1cboCia.SelectedValue.ToString() + "'"); if (customerRow[0]["Logo"] != DBNull.Value) { Dr["Logo"] = customerRow[0]["Logo"]; } else { Dr["Logo"] = DBNull.Value; } Dr["NomEmpresa"] = customerRow[0]["NomEmpresa"]; Dt.Rows.Add(Dr); DtComprobante.TableName = "Comprobante"; Ds.Tables.Add(Dt); Ds.Tables.Add(DtComprobante); NomSede = CboSede.Columns["NomSede"].Value.ToString(); //pasar datos directo al crystal reports TextObject txt; txt = (TextObject)ObjCrpVentasSede.ReportDefinition.ReportObjects["TxtReporte1"]; txt.Text = "SEDE: " + NomSede; TextObject txt2; txt2 = (TextObject)ObjCrpVentasSede.ReportDefinition.ReportObjects["TxtReporte2"]; txt2.Text = "FECHA: " + Fecinicio.ToShortDateString().ToString() + " A " + DtpFechaFin.Value.ToShortDateString(); ObjCrpVentasSede.SetDataSource(Ds); CrvVentasSede.ReportSource = ObjCrpVentasSede; } } catch (Exception ex) { //MessageBox.Show(ex.InnerException.Message); MessageBox.Show(ex.Message); } Cursor = Cursors.Default; }