Reporte reportViewer y c# WinForm

Buenos días, voy a tratar de ser breve y que se entienda para ponerte en contexto.

Realicé una ventana de "impresión" la cual utilizará todo mi sistema, mi idea original es que por ejemplo desde la pantalla clientes yo usandondo un storprocedure cree el "ReportDataSource" o bien cree un "dataTable" y después llame al formulario impresión y se lo pase como parámetro. Así en el formulario impresión todo lo que haría es asignarle el datasouce y en base a un string que paso decidir que .rdlc utilizar.

Mi problema es que todos los ejemplos que encuentro y la vez que lo hice (es vez fue con crystal) siempre creé el dataSet de forma "visual" y en este caso me parece innecesario e incorrecto ya que tengo que crear un dataset por cada reporte que estoy haciendo, es una locura!

Quería saber que alternativa puede haber. Ya que no me parece lógico que si o sí tenga que crear el dataset ahí... Yo directamente chupo los datos de la capa de datos y listo.

Espero haber sido claro.

Desde ya, muchas gracias

1 respuesta

Respuesta
1

El dataset para cada reporte lo necesitas porque esa es la base con la cual diseñas o dibujas el reporte, si utilizas objetos o entidad, también puedes utilizar esas entidades como fuente para dibujar tu reporte.

Lo que pretendes de por código definir que reporte cargar y que datos pasarle es posible tal como lo expones

Hola.

Muchas Gracias ahí parece que funciona, mañana voy a seguir intentando con los demás...

Quería saber si el hecho de hacerlo con un dataSet no era muy pesado, si no es posible hacerlo con dataTable...

Muchas Gracias

Si devuelves los datos en un dataset y viaja por varias capas, es mejor que lo hagas con un datatable que no pesa tanto pero, la recomendación es que lo hagas a través de una colección genérica y un objeto que defina las propiedades de los datos.

Como siempre excelente tu respuesta.

Disculpá por no cerrarla antes, pude solucionarlo como vos me respondes e incluso le asigno una lista de entidades en el dataSource y ningún problema...

Nuevamente muchas gracias..

Saludos

Martín

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas