2010-12-29 18 views
11

Saludos.RDLC - Agregar un origen de datos en VS2010

Tengo un archivo RDLC y quiero agregar una fuente de datos, aunque sin suerte hasta el momento. La fuente de datos es una clase personalizada escrita por mí mismo (solo para agregar, hacemos esto todo el tiempo). Recientemente, nos convertimos al formato VSLC10 RDLC, lo que causó algunos problemas, pero hemos realizado algunos cambios en nuestra implementación que solucionan los problemas más importantes.

Volviendo al tema en cuestión, cuando intento agregar mi fuente de datos a la lista DummyDataSource en la vista RDLC en VS2010 simplemente no hace nada, sin embargo, agrega la fuente de datos a la lista de fuentes de datos, pero no puede seleccionarlo de la lista desplegable en la vista RDLC, lo que significa que no puedo agregar la fuente de datos.

¿Alguien ha encontrado este problema? ¿Hay algo que deba verificar? He buscado con fervor y no tuve suerte.

Respuesta

14

Su origen de datos objeto debe incluir un tipo de datos nativo como propiedad en la clase, de lo contrario, no le permite agregarlo. Gracioso, eh!

+1

Muy extraño, pero funciona a las mil maravillas. Esperan a nadie le importa que yo tenga un int inútil llamado Foo en mi fuente de datos ... :) –

+0

Me ahorró horas de tirar del pelo. ¡Gracias! – Glenn

18

Parece que hay un poco de magia negra sucediendo aquí. O al menos no he descifrado todo el conjuro para que esto suceda de manera confiable.

Creo que estaba teniendo un problema similar. No estoy seguro de si esto lo ayudará, pero así es como lo solucioné.

En el diseñador de informes VS2010, use view-> Report Data para mostrar el panel Report Data.

Haga clic en el botón Nuevo y elija Dataset ... para obtener el cuadro de diálogo Propiedades de conjunto de datos.

Nombre su conjunto de datos, si ya ha hecho esto antes, probablemente sepa que el nombre del conjunto de datos debe coincidir con el nombre proporcionado en el código cuando vincula su ReportDataSource.

La nueva parte que acabo de probar es hacer clic en el botón Nuevo ... al lado de la lista desplegable Fuente de datos. El asistente resultante lo guiará en la selección de su ensamblaje y clase CLR (use la casilla de verificación para seleccionar su clase).

Cuando el asistente finalizó, apareció mi nuevo conjunto de datos.

Una cosa a tener en cuenta: La primera vez que traté de reproducir esto, el asistente se completó sin agregar mi conjunto de datos. Volví a la definición de mi clase y la decoré con los atributos [DataContract] y [DataMember] y luego volví a ejecutar el asistente y parecía funcionar muy bien.

Quizás alguien con un conocimiento más profundo pueda comentar por qué esos atributos hacen que esto funcione, o por qué el asistente falla silenciosamente sin ellos.

+0

Gracias Paul :)) – Sadegh

+5

"magia negra" - mejor descripción que he leído para todos esos errores enormes en RDLC-Informes ... – Lyra

0

He visto esto suceder cuando la selección final en un procedimiento almacenado se extrae de una tabla de temperatura/memoria. Debe falsificar al diseñador agregando un dummy seleccione 0 AS mycol1int, '' AS mycol2string, etc. Una vez que haya creado el Dataset, puede eliminar esa selección ficticia. ¡Otra característica maravillosa y fabulosa en VS! Poseen el DB, poseen el IDE, pero ...

+0

Lo sentimos, en realidad es peor, hay que comentar el código que declara y utiliza la tabla en la memoria y luego añadir el selecto maniquí. Suspiro.... –

1

No pude agregar el origen de datos, después de seguir el asistente (botón nuevo) el origen de datos no apareció en la lista desplegable. Lo que hice fue agregar una propiedad con un tipo primitivo VS clase y luego procedió a mostrar la fuente de datos correcta.

extraño tener que hacer esto, pero he encontrado otra manera.

1

Si está utilizando un procedimiento almacenado, reemplazar todo dentro del procedimiento con una fila seleccione sin utilizar tablas de origen/funciones. No pude hacer que funcionara con un procedimiento almacenado que devolvía datos de la tabla temporal o la tabla normal tampoco.

0

Si se añade objeto de origen de datos no se muestra en ReportData a continuación: 1. Haga clic derecho sobre rdlc y haga clic en Abrir con 2. Seleccione el editor XML 3. Añada el conjunto de datos necesarios a mano.

Después de esta actualización ReportData y verá el objeto de origen de datos en la lista.

Cuestiones relacionadas