Antecedentes:Problemas de ajuste RDLC origen de datos al objeto
he sido la tarea de convertir una aplicación de base de datos de acceso a ASP.Net C# MVC. Esta es mi primera aplicación MVC.
Hay 10 informes que necesitan ser convertidos. Estamos usando archivos RDLC y reportviewer. Estoy usando Visual Studio 2010 con todos los parches más recientes. Nos estamos conectando a una base de datos de SQL Server que ha sido poblada por la base de datos de Access existente, por lo que la estructura de la tabla es bastante inamovible, o bien tendremos que tratar de convertir 10 años de datos.
He completado todos los informes menos dos. Los informes finales requieren más procesamiento y no solo muestran datos de la base de datos. La forma más fácil de hacer esto sería crear un objeto C# y hacer todo el procesamiento en el lado del servidor, luego use RDLC para mostrar los resultados.
Edición
El problema que estoy teniendo es que Visual Studio no reconocerá los objetos que he creado como fuentes de datos posibles. Cada vez que trato de "agregar conjunto de datos" aparece el "asistente de configuración del origen de datos" y solo ofrece la base de datos SQL Server como posible conexión de datos. Sé que existe una pantalla que le permite seleccionar un objeto como su conjunto de datos, pero nunca veo esa pantalla.
Éstos son los objetos (las funciones de procesamiento eliminadas para mayor claridad):
public class TurnAroundVal
{
// Registration Package information
public string dataType { get; set; }
// Calculated totals; values only set through constructor or calculation function
public int packageCount { get; private set; }
public int dayCount { get; set; }
public double avgTurnAround { get; private set; }
public int upperRange { get; private set; }
public int lowerRange { get; private set; }
}
public class TurnAroundVals
{
// Public Variables
public IEnumerable<TurnAroundVal> TurnArounds { get; private set; }
public DatePass dates { get; set; }
public int pkgTotal { get; private set; }
public double dayTotal { get; private set; }
public double avgAllTurnArounds { get; private set; }
}
También estaría dispuesto a utilizar el IEnumerable de "TurnAroundVal" como origen de datos, y sólo tiene que pasar las fechas, int, y dobles en como parámetros. Cualquiera de los dos funcionaría.
Pregunta
¿Hay un ajuste en Visual Studio 2010 que me falta para permitir que el diseñador RDLC para ver los objetos que he creado? ¿Me equivoco al pensar que esto funcionará con las clases que definí?
respuesta
Todas las sugerencias dadas eran útiles, pero en última instancia lo que tengo que trabajar para mí fue la creación de un proyecto web no temporal en la misma solución y crear el RDLC allí. Cuando fui a agregar un conjunto de datos, muestra "Objetos" como una opción. Debe agregar una referencia a su proyecto web para que sus objetos sean visibles, pero luego puede elegir el que desee y usarlo en el RDLC. Después de eso, puede simplemente arrastrar y soltar el archivo RDLC en su proyecto web, eliminar el proyecto temporal y listo. Solo recuerde que debe agregar los orígenes de datos manualmente en el código, y deben tener el mismo nombre que especificó en el RDLC.
Ya intenté todo eso, pero sigue siendo una buena información. Lo que terminé haciendo fue crear un nuevo proyecto no web en la misma solución, crear el RDLC allí, luego arrastrarlo/soltarlo en el proyecto web. Probablemente haya una manera menos complicada de hacerlo, pero funcionó. – War2d2