28/06/2005, 09:04
|
| | Fecha de Ingreso: junio-2005
Mensajes: 6
Antigüedad: 19 años, 4 meses Puntos: 1 | |
Hola, voy a decirles como lo hago en dos pasos que si bien parece dificil a primera vista luego verás que es fácil.
1- Crear el Reporte
En el diseño del rpt se necesita una fuente de datos desde la cual arrastrar los campos. Generalmente lo que hago es crear un nuevo DataSet en el proyecto (En el Solution Explorer - clic derecho sobre el proyecto - Add New Item - DataSet) Luego en ese DataSet del proyecto adiciono la tabla que voy a utilizar en el reporte (o la creo a mano) . Luego de esto ya tengo una fuente de datos para poder hacer el reporte. Adiciono un nuevo reporte, ya en el diseño del reporte, en el Fields Explore, clic drecho en Database Fields - Add/Remove Database. En esa opción escojo como fuente de datos el dataset del proyecto que ya cree para lo cual expando Project Data, expando ADO.NET Dataset y ahi estará el DataSet del proyecto que se ha creado, expande este DataSet y escoje la tabla que desees. Asi ya tendrás datos para arrastrar al Reporte.
2-Llamar al reporte pasandole un DataSet
Para llamarlo es necesario el control ReportViwer el cual va a contener al reporte, para lo cual tienes que crear un objeto del tipo ReportDocument al cual le tendrás que decir donde está el fichero .rpt y le tendrás que pasar los Datos y finalmente este Objeto pasarselo al ReportViwer.
Aqui te pongo el código:
//Aqui supongo que tengas un DataSet que se llame ds y que ya esté llenado con los datos de la tabla que desees y que hayas puesto en la página un objeto CrystalReportViewer llamado visor.
//Crear un objeto ReportDocument
ReportDocument rpt = new ReportDocument();
//Cargar el Reporte
rpt.Load("Ruta del Reporte");
//Asignarle al Reporte el DataSet
rpt.SetDataSource(ds);
//Asignarle al CrystalReportViewer el ReportDocument
visor.ReportSource = rpt;
Disculpame por dos cosas: Por poner los nombres en de los menues en Ingles (porque a pesar de que estoy en Cuba tengo el VS.NET en Ingles) y tambien disculpame por poner el codigo en C# y no en VB, (es que trabajo en C# aunque los objetos son los mismos)
Espero esto te sea útil.
Saludos
Deulis |