Hola! soy nuevo en el foro, recientemente se me presento un problema.
necesito pasar a un reporte de Crystal Reports 2008 columnas de 2 datagrids el contenido del primer datagrid esta en el Dataset1 en la primer columna y lo paso con el siguiente codigo:
DataSet2 dg
= new DataSet2
(); int filas = (dgv1.Rows.Count);
for (int i = 0; i <= filas - 2; i++)
{
dg.Tables[0].Rows.Add
dgv1[0,i].Value.ToString(),
dgv1[1,i].Value.ToString(),
dgv1[2,i].Value.ToString(),
dgv1[3,i].Value.ToString(),
dgv1[4,i].Value.ToString()
});
}
CrystalReport1 orep1
= new CrystalReport1
(); orep1.Load();
orep1.SetDataSource(dg);
crystalReportViewer1.ReportSource = orep1;
y me funciona, solo que unicamente se llena el DataTable1 del dataset1 y no se como podria hacer para llenar el DataTable2 ya que en el codigo no veo ninguna referencia a los DataTables, entonces mi suposicion es que solo se debe cambiar la parte:
por
y obviamente declarar nuevos objetos, algo asi:
DataSet2 dg3
= new DataSet2
(); int filas2 = (dgv2.Rows.Count);
for (int i = 0; i <= filas2 - 2; i++)
{
dg3.Tables[0].Rows.Add
dgv2[0,i].Value.ToString(),
dgv2[1,i].Value.ToString(),
dgv2[2,i].Value.ToString(),
dgv2[3,i].Value.ToString(),
dgv2[4,i].Value.ToString()
});
}
CrystalReport1 orep2
= new CrystalReport1
(); orep2.Load();
orep2.SetDataSource(dg3);
crystalReportViewer1.ReportSource = orep2;
es decir en un boton pongo el primer codigo y luego este y no me da error pero en el crystal reports ya no me carga ninguna columna, ya agregue las columnas del DataTable2 al diseñador de crystal pero no me funciona. El motivo de hacerlo en 2 DataTables es que los 2 datagrids tienen una cantidad de datos distintas.
sospecho que el error esta en el ReportSource pero no se como hacer para que el Source sean los dos objetos Orep1 y Orep2.
espero me puedan ayudar, cualquier cosa que no me haya sabido explicar me dicen y con muchisimo gusto aclaro.
saludos!!!