Cita:
Iniciado por abelinobarajas
johnwilliams,
Si nos pudiera explicar detalladamente como hacerlo con mysql y crystal report yo tambien se lo agradeceria
Cita:
Iniciado por robertgustavo
jhonwilliams, ¿como haria para imprimir la factura que he hecho actualmente y tengo cargada en un windows Form, no quiero que me muestre todas, solo la que esta cargada en los controles del Windows Form, ya sea el encabezado en textbox, y los detalles de la factura en el datagridview.
Seria de gran ayuda un poco de codigo o algun link, gracias
Para ambos.
La forma como yo desarrollo los reportes en Crystal Reports requieren de un DataSet tipado para la creación del diseño del mismo. Si no disponen de DataSet tipados en el proyecto pueden crear uno desde código. Antes de hacer esto el DataSet debe estar cargado con las tablas.
C#
Código:
miDs.WriteXml(@"c:\dsDatosReporte.xsd");
EL DataSet debe tener tablas porque con esta informacion de la estructura de datos es que se diseña el reporte.
Una vez creado el archivo xsd lo agregamos al proyecto. Y la linea con la que se creo el DataSet la pueden borrar pues ya no nos va a servir.
Al agregar dsDatosReporte.xsd veremos la tablas con las que estaba cargado el DataSet al momento de escribir el archivo.
Ahora agregamos un reporte de Crystal Reports al proyecto y en el asistente elegir reporte Estandar.
En el asistente preguntara por el origen de datos para el reporte, ahí buscan el dsDatosReporte y el les mostrara las tablas contenidas para el reporte. Agregan la tabla.
En el caso de la factura deben haber dos tablas, una para el encabezado del reporte y otra para el detalle.
Y el como cargar solo una factura, es hacer un filtro a los datos antes de asignar el DataSet con los datos al reporte.
Nota: Es importante tener claro lo siguiente, el DataSet tipado se usa para diseñar el reporte pero tambien puede ser el origen de datos del mismo, si no es asi deben garantizar que el dataset que tiene la informacion tenga los mismos nombres de campos con el cual se diseño el reporte, algo como esto:
dsTipado Tabla1 (con este se diseño el reporte)
NombreCliente
dsDatos tblFactura (Con este se cargan los datos)
NombreCliente
El campo NombreCliente es igual en las dos tablas.
Para asignar datos al reporte es también muy sencillo.
Asumo que ya tienen el DataSet con los datos cargados, entonces hacemos algo como esto:
C#
Código:
miReporteCrystal rptFactura = new miReporteCrystal();
rptFactura.SetDataSource(DataSetConDatos);
Si desean verlo en pantalla deben agregar un objeto CrystalReportsViewer
Y luego la linea anterior colocar esto:
C#
Código:
CrystalReportsViewer1.ReportSource = rptFactura;
Un sitio que les puede ayudar y que me ayudo a mi cuando comencé es:
http://www.willydev.net/crystaldesde0/
Si tienen alguna pregunta, si necesitan que aclare algo mas a fondo me comentan. Pero también recuerden investigar y usar Google (lo sabe casi todo)
Saludos