Foros del Web » Programación para mayores de 30 ;) » .NET »

Crystal Report y 2 Datatables

Estas en el tema de Crystal Report y 2 Datatables en el foro de .NET en Foros del Web. Hola foreros, si me pueden ayudar en esto porfavor que me tiene un poco agobiado y no tengo mucha experiencia con Crystal Report. Resulta que ...
  #1 (permalink)  
Antiguo 26/11/2010, 09:24
 
Fecha de Ingreso: mayo-2010
Mensajes: 6
Antigüedad: 13 años, 11 meses
Puntos: 0
Crystal Report y 2 Datatables

Hola foreros, si me pueden ayudar en esto porfavor que me tiene un poco agobiado y no tengo mucha experiencia con Crystal Report.
Resulta que quisiera hacer una vista previa e imprimir información de 2 DataTables, primeramente creo un DataSet y en este las Tablas con sus respectivas columnas. Luego al cargar el formulario de vista previa ( CrystalReportViewer1 )realizo la siguiente acción


Dim ds As New DataSetOT
Dim dt2 As DataTable = ds.Tables.Add("Componentes")
Dim dt1 As DataTable = ds.Tables.Add("Equipos")

dt1.Columns.Add(New DataColumn("NumeroItem", GetType(Integer)))
dt1.Columns.Add(New DataColumn("NumParte_producto", GetType(String)))
dt1.Columns.Add(New DataColumn("DescripResumida", GetType(String)))
dt1.Columns.Add(New DataColumn("Cantidad", GetType(Integer)))



dt2.Columns.Add(New DataColumn("id_RecetaComponente", GetType(Integer)))
dt2.Columns.Add(New DataColumn("NumeroItem", GetType(Integer)))
dt2.Columns.Add(New DataColumn("NumeroParte", GetType(String)))
dt2.Columns.Add(New DataColumn("Descripción", GetType(String)))
dt2.Columns.Add(New DataColumn("Cantidad", GetType(Integer)))


Dim workRow1 As DataRow = dt1.NewRow()
Dim workRow2 As DataRow = dt2.NewRow()

For a = 0 To NuevaT.DataGridOT1.Rows.Count - 1
workRow1 = dt1.NewRow()
workRow1("NumeroItem") = NuevaT.DataGridT1.Rows(a).Cells(0).Value.ToString( )
workRow1("NumParte_producto") = NuevaT.DataGridT1.Rows(a).Cells(1).Value.ToString( )
workRow1("DescripResumida") = NuevaT.DataGridT1.Rows(a).Cells(2).Value.ToString( )
workRow1("Cantidad") = NuevaT.DataGridT1.Rows(a).Cells(3).Value.ToString( )
dt1.Rows.Add(workRow1)
dt1.AcceptChanges()
Next
For b = 0 To NuevaOT.DataGridOT2.Rows.Count - 1
workRow2 = dt2.NewRow()
workRow2("NumeroItem") = NuevaT.DataGridT2.Rows(b).Cells(1).Value.ToString( )
workRow2("NumeroParte") = NuevaT.DataGridT2.Rows(b).Cells(2).Value.ToString( )
workRow2("Descripción") = NuevaT.DataGridT2.Rows(b).Cells(3).Value.ToString( )
workRow2("Cantidad") = NuevaT.DataGridT2.Rows(b).Cells(4).Value.ToString( )
dt2.Rows.Add(workRow2)
dt2.AcceptChanges()
Next


*****

Dim objRpt As New ReporteOT
For a = 0 To 1
MsgBox(ds.Tables(a).ToString)
objRpt.SetDataSource(ds.Tables(a))
CrystalReportViewer1.ReportSource = objRpt
CrystalReportViewer1.Refresh()
Next


*****

Creo las tablas en tiempo de ejecución y le asigno los valores que estan en los DataGridview de otro fomulario. Al realizarlo solo con una tabla funciona bien, pero con dos no me carga los datos.

Lo otro que quisiera saber es como hacer que se agrupen por NumerodeItem, osea Primera tabla con Tabla1.Numero A y luego todo el contenido de la segunda tabla con Tabla2.Numero A abajo de Tabla1. El equipo y debajo sus componentes, eso. Si me pudieran dar una ayuda en esto que he buscado por mucha paginas y no sale nada igual.
Gracias de antemano.

Etiquetas: crystal, report
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:52.