Pregunta

¿Alguien ha podido utilizar una colección generada por SubSonic como una "fuente de datos de objeto de negocio"? con el informe de Microsoft (rdlc)? He generado el código de clase SubSonic pero, por alguna razón, la ventana del origen de datos del informe no ve la clase como un posible origen de datos de colección de objetos.

¿Hay algo que deba hacer para que esto funcione?

Gracias de antemano ... vsdotnetguy

¿Fue útil?

Solución 3

Gracias Chris y Adam,

Aquí está la respuesta que encontré.

En mi caso, quería establecer dinámicamente las fuentes de datos principales y de subinforme en tiempo de ejecución utilizando las colecciones de objetos SubSonic. Sin embargo, también quería diseñar el diseño del informe arrastrando y soltando las columnas del origen de datos.

Pero no pude diseñar el informe usando arrastrar y soltar porque ninguna de mis colecciones SubSonic aparecía en las Fuentes de datos del sitio web.

Sin embargo, más tarde, mientras hacía un enlace de control con el control ObjectDataSource, noté que AHORA mis colecciones SubSonic aparecían en la ventana de DataSources del sitio web y podía arrastrar y soltar el diseño del informe.

Entonces, si está configurando dinámicamente las fuentes de datos del informe en tiempo de ejecución y NO ESTÁ utilizando el control ObjectDataSource que ya está en su proyecto, DEBE agregar un control ObjectDataSource ficticio a una de sus páginas aspx. Esto hará que las fuentes de datos del objeto comercial se muestren en el diseñador de informes.

Otros consejos

He cargado informes de Reporting Service de objetos comerciales anteriormente (cargado a través de NHibernate, que no es exacto pero lo suficientemente cercano para el argumento).

Par de puntos clave: 1. devuelva sus objetos en la Lista, incluso si solo está devolviendo un objeto. 2. Desea objetos de negocio PISOS. Es posible que tenga que pasar por una transformación DTO para obtener eso. Por plano, quiero decir que la propiedad más compleja que puede tener en un objeto de negocio es una cadena y un número (int, decimal, doble). Si espera obtener un valor como este: myObject.Customer.Name, olvídalo. Cree una propiedad CustomerName. 3. Si necesita datos de varios lugares, intente dividir sus informes en subinformes. Teclea la clave del origen de datos para averiguar qué datos devolver al informe.

Agregaré más como recuerdo, han pasado unos meses desde que hice esto.

Sí, lo he hecho, solo debe asegurarse de que el proyecto que contiene sus informes hace referencia a su proyecto SubSonic (obviamente :).

A veces también descubrí que Visual Studio puede enredarse un poco y requerir un reinicio antes de repoblar la ventana del origen de datos con objetos generados por SubSonic.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top