Reporting Service

La tengo el Reporte montado lo pruebo y sirve pero este reporte es llenado por un procedimiento almacenado y recibe un para metro. Como le hago para indicarle el valor a ese parámetro pero ya en ejecución . Osea que cuando el cliente llame al reporte el tome por ejemplo el id del cliente que viene en una variable de Session("IdCliente") y se la pase al procedimiendo. Estoy trabajando con Visual basic en Visual Studio 2005 en Páginas aspx
Gracias
La solución debe de ser agregar algo en el código visual basic pero no se que sera es muy enredado

1 respuesta

Respuesta
Por código tienes que hacer esto:
Dim paramList As New Generic.List(Of ReportParameter)
'Aca pones nombre del parametro, valor y si es visible o no
paramList.Add(New ReportParameter("ID", "Valor del Parametro", False))
'Aca podes seguir agredando parametros asi:
'paramList.Add(New ReportParameter("Param2", "Valor del Parametro 2", False))
'paramList.Add(New ReportParameter("Param3", "Valor del Parametro 3", False))
ReportViewer1. ServerReport. SetParameters(paramList)
Y obviamente el reporte tiene que esperar esos valores podes ver si le llegaron agregando un textbox al reporte con esta expresión:
=Parameters!ID.Value
Donde ID es el nombre del parámetro.
Voy a intentar hacerlo y luego te califico
Gracias amigo
Me da error en la primera linea y en la segunda sin comentarios.
¿Específicamente en la Palabra ReportParameter
debe de ser que tengo que importa algo?
Ayuda y gracias
Bueno proba poniendo estos imports
Imports Microsoft. Reporting. WebForms
Imports Microsoft. Reporting
Y si no especifícame un poco más el error así lo vemos.
Aclaraciones: En mi solución tengo 4 proyectos la web(donde están los .aspx e imágenes y reportes), capaAccesoBD, CapaDominio y capaLogica que son class Library.
En el web es donde están el Report1.rdlc
Habia leido pero no entendi algo sobre que los reportes debe de estar en el servidor o algo asi, pero supongo que era cuando se ejecuta.
Server Error in '/WebSite' Application.
--------------------------------------------------------------------------------
The source of the report definition has not been specified
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: Microsoft.Reporting.WebForms.MissingReportSourceException: The source of the report definition has not been specified
Source Error:
The source code that generated this unhandled exception can only be shown when compiled in debug mode. To enable this, please follow one of the below steps, then request the URL:
1. Add a "Debug=true" directive at the top of the file that generated the error. Example:
or:
2) Add the following section to the configuration file of your application:
Note that this second technique will cause all files within a given application to be compiled in debug mode. The first technique will cause only that particular file to be compiled in debug mode.
Important: Running applications in debug mode does incur a memory/performance overhead. You should make sure that an application has debugging disabled before deploying into production scenario.
The source of the report definition has not been specified
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: Microsoft.Reporting.WebForms.MissingReportSourceException: The source of the report definition has not been specified
Source Error:
Line 7: Dim paramList As New Generic.List(Of ReportParameter)
Line 8: paramList.Add(New ReportParameter("@idProyecto", idProyecto, False))
Line 9: ReportViewer1.ServerReport.SetParameters(paramList)
Line 10:
Line 11: End Sub
No entiendo esta parte que me dijiste = "y obviamente el reporte tiene que esperar esos valores podes ver si le llegaron agregando un textbox al reporte con esta expresión:
=Parameters!ID.Value"
Claro vos tienes un reporte osea el archivo rdl, para poder hacer todo el diseño podes usar con VS 2005 dentro de Business Intelligence Project la solución de Report Server Project. Cuando abrís un reporte tienes la toolbar al costado, entonces para ver si ese parámetro llego, primero tienes que agregarlo al reporte eso lo haces yendo a Reporte, luego Parámetros de Reporte y ahí lo agregas.
Y despues haces drag and drop de un textbox y pones esa expresion =Parameters!ID.Value
Donde Id es el nombre del parámetro que vos le envías desde la webform y el nombre del parámetro de entrada del Reporte. Si vos le envías 5 desde la página tendría que aparecerte 5 en el reporte.
Te paso 2 links interesantes:
http://msdn2.microsoft.com/en-us/magazine/cc188691.aspx
http://msdn2.microsoft.com/en-us/magazine/cc163584.aspx
Sobre el tema de los reportes en el servidor, al menos yo trabaje con el Servidor de Reportes donde vos alojas todos ahí, no en tu site. Se puede acceder vía web a ese servidor:
http://A/Reports$sql2005/Pages/Folder.aspx
Donde A es la pc donde se instalo el Report Server, puede ser localhost.
Y Reports$sql2005 es el nombre de la base que RP te crea cuando lo instalas, creo que por default no se llama así. Pero la podes ver en tu SQL Server en el listado de Bases.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas