• Miércoles 15 de Mayo de 2024, 00:44

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - streamercrow

Páginas: [1]
1
C# / crystal reports, 1 dataset con 2 columnas
« en: Martes 5 de Julio de 2011, 20:41 »
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:

Código: C#
  1. DataSet2 dg = new DataSet2();
  2.                     int filas = (dgv1.Rows.Count);
  3.                     for (int i = 0; i <= filas - 2; i++)
  4.                     {
  5.                         dg.Tables[0].Rows.Add
  6.                             (new object[]{
  7.                    
  8.                     dgv1[0,i].Value.ToString(),
  9.                     dgv1[1,i].Value.ToString(),
  10.                     dgv1[2,i].Value.ToString(),
  11.                     dgv1[3,i].Value.ToString(),
  12.                     dgv1[4,i].Value.ToString()              
  13.                      
  14.                                                          
  15.                     });
  16.                     }
  17.                     CrystalReport1 orep1 = new CrystalReport1();
  18.                     orep1.Load();
  19.                     orep1.SetDataSource(dg);
  20.                     crystalReportViewer1.ReportSource = orep1;
  21.  

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:
Código: C#
  1. dg.Tables[0].Rows.Add
  2.  
por
Código: C#
  1. dg.Tables[1].Rows.Add
  2.  
y obviamente declarar nuevos objetos, algo asi:

Código: C#
  1.   DataSet2 dg3 = new DataSet2();
  2.                     int filas2 = (dgv2.Rows.Count);
  3.                     for (int i = 0; i <= filas2 - 2; i++)
  4.                     {
  5.                         dg3.Tables[0].Rows.Add
  6.                             (new object[]{
  7.                    
  8.                     dgv2[0,i].Value.ToString(),
  9.                     dgv2[1,i].Value.ToString(),
  10.                     dgv2[2,i].Value.ToString(),
  11.                     dgv2[3,i].Value.ToString(),
  12.                     dgv2[4,i].Value.ToString()
  13.                                              
  14.                     });
  15.                     }
  16.                     CrystalReport1 orep2 = new CrystalReport1();
  17.                     orep2.Load();
  18.                     orep2.SetDataSource(dg3);
  19.                     crystalReportViewer1.ReportSource = orep2;
  20.  

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.  :wacko:
espero me puedan ayudar, cualquier cosa que no me haya sabido explicar me dicen y con muchisimo gusto aclaro.
saludos!!! ^_^

Páginas: [1]