visual studio services reporte que parametros parametro informe fecha ejemplo datos agregar vb.net visual-studio-2010 asp.net-mvc-2 reportviewer rdlc

vb.net - studio - que es un reporte rdlc



Informe local de Visual Studio 2010 SSRS(.rdlc) con origen de datos de objeto (6)

no se mostrará como fuentes en el menú desplegable DataSources

Tuve el mismo problema hace unos días. Lo solucioné instalando SP1 para VS10. http://www.microsoft.com/download/en/details.aspx?id=23691

He creado más proyectos utilizando ReportViewer 2005 y 2008 en modo de procesamiento local de los que puedo contar con mis manos. Todos los proyectos de formularios web de Visual Studio 2005 o 2008 ASP.NET. Siempre usé un poco de fuente de datos Objeto para los informes.

Esta noche, intenté agregar la misma funcionalidad a un proyecto de Visual Studio 2010 MVC 2 y estoy fallando miserablemente. Primero, el Informe Agregar nuevo elemento> Informes> ahora es un RDLC 2008 y no un informe RDLC 2005. En segundo lugar, cuando intento agregar un DataSet, mi método habitual de crear una clase de proxy de datos con métodos estáticos que devuelven IEnumerables(Of Stuff) no se mostrará como fuentes en el menú desplegable DataSources

En tercer lugar, mi única opción es agregar una conexión de base de datos. No hay un "Origen de datos de objeto" para elegir de:

Estoy perplejo. Como mencioné, no tengo ningún problema en absoluto al procesar un informe con el control ReportViewer. Lo que no puedo hacer es averiguar cómo configurar un origen de datos en estos nuevos informes de 2008 con Visual Studio 2010 para poder bombear una lista de objetos de dominio en ReportViewer y mostrar el informe.

ACTUALIZAR

Con un poco más de investigación, he encontrado que los proyectos MVC no permiten que se utilicen fuentes de datos de objetos dentro de ellos. Una solución para mi problema es crear un proyecto separado en la solución: una aplicación web, un servicio o incluso una biblioteca de clases, para agregar el informe y diseñarlo de acuerdo con ello.

Todavía estoy buscando alternativas aquí.


Aquí hay un par de soluciones. El número dos es mucho mejor ya que no requiere la duplicación innecesaria de sus ensamblajes.

Solución 1 (ok)

Como se agregó a la pregunta en sí misma y se describe en la publicación Visual Studio 2010 Report Viewer - Object Datasource , simplemente cree una biblioteca separada para el proyecto y agregue el archivo rdlc allí. Esto parece ser un error con el tipo de proyecto de la aplicación web MVC, por lo que cualquier otro tipo de proyecto (como una biblioteca de clases) debería funcionar. El asistente de configuración de la fuente de datos ahora debería tener este aspecto:

Solución 2 (mejor)

Como se indica en No se puede ver o agregar las Fuentes de datos del sitio web en el informe de RDLC en ASP.NET MVC , puede agregar una página .aspx en cualquier lugar al proyecto de MVC para engañar a Visual Studio para que obtenga las bibliotecas de tiempo de diseño adecuadas.

Solo haz lo siguiente:

  • Cerrar todas las ventanas
  • Limpie y reconstruya la solución
  • Agregue WebForm1.aspx al Proyecto
  • Abra el archivo RDLC y elija un DataSource del menú desplegable:


La respuesta corta: sí, puede usar fuentes de datos de objetos en RDLC 2008 (simplemente no es intuitivo). Así es cómo:

Abra su página RDLC (en la vista [Diseño]). Después de un momento, la pestaña "Datos" aparecerá en la parte superior de Visual Studio. Seleccione "Agregar nuevo origen de datos", elija "Objeto" y Siguiente. Desde allí, podrá ver la lista de objetos a los que puede enlazar. Elija su DTO / Objeto de negocios / lo que sea de su proyecto y presione Finalizar. En la pestaña de la barra lateral Datos del informe en el lado izquierdo de Visual Studio, verá su objeto agregado. Copie el nombre del origen de datos que generó (será algo como "MyProject_MyObject").

Ahora en su controlador, puede extraer un IEnumerable de ese DTO / BusinessObject y pasarlo como el parámetro de datos y el nombre de su fuente de datos como este (lo siento, no hay sintaxis VB):

ReportDataSource reportDataSource = new ReportDataSource("MyProject_MyObject", myIEnumerable);



Tuve el mismo problema y seguí this instrucciones (respuesta de Zilong Lu). Una vez que tuve el controlador para mi informe y no apareció la opción de fuente de datos global, solo el asistente de conexión. Hice un clic derecho en mi proyecto y hice clic en compilar. Después de esto, intenté volver a agregar el origen de datos global y no se mostró el asistente de conexión, pero sí lo hizo la opción de origen de datos global.


Tuve el mismo problema, pero luego muevo el informe y las clases de entidades a otro proyecto separado de la aplicación web, cuando hice eso, el asistente muestra otras opciones distintas de la conexión de base de datos, así que agrego un DataSource de objetos a la biblioteca de C #. Luego uso esta publicación para recuperar la definición del informe e incrustarla en .aspx. ¡Espero que esta ayuda!