private void btn_reporte_Click(object sender, EventArgs e) { if (dataGridView1.Rows.Count > 0) { DataTable dt = new DataTable("tb_producto"); dt.Columns.Add("codigo"); dt.Columns.Add("descripcion"); dt.Columns.Add("stock"); dt.Columns.Add("precio"); dt.Columns.Add("categoria"); dt.Columns.Add("envase"); dt.Columns.Add("retornable"); dt.Columns.Add("capacidad"); foreach (EProducto item in reporte) { DataRow fila = dt.NewRow(); fila[0] = item.Codigo; fila[1] = item.Descripcion; fila[2] = item.Stock; fila[3] = item.Precio; fila[4] = item.Desc_categoria; fila[5] = item.Desc_envase; fila[6] = item.Desc_retorna; fila[7] = item.Capacidad.ToString() + " " + item.Desc_medida; dt.Rows.Add(fila); } //dt.WriteXmlSchema("e:\\rpt_producto.xml"); ReportClass rpt = new Rpt_Producto(); rpt.SetDataSource(dt); Frm_Reporteador ofrm = new Frm_Reporteador(rpt); ofrm.Show(); } else { MessageBox.Show("No se han listado registros...\r\n" + "Por favor liste antes de generar el reporte..", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public virtual CrystalDecisions.CrystalReports.Engine.ReportDocument CreateReport() { Rpt_Producto rpt = new Rpt_Producto(); rpt.Site = this.Site; return rpt; }