Quantcast
Channel: Como llamar a un Report Local
Viewing all articles
Browse latest Browse all 3

Como llamar a un Report Local

$
0
0

Buenas, espero que la pregunta no sea muy simple. Pero no encuentro respuestas por internet.

En mi proyecto quería crear un solo formulario para poder ver todos los Informes (.rdlc).

Asi que me cree dicho formulario ("frmVisorInformes.cs") y en el constructor le pasaba la ruta del Informe que queria mostrar y los ReportDataSources para que pudiera acceder a los datos.

public frm_visorInformes(string reportPath, List<ReportDataSource> dataSources)
        {
            InitializeComponent();

            foreach (ReportDataSource rds in dataSources)
                reportViewer1.LocalReport.DataSources.Add(rds); 

            reportViewer1.LocalReport.ReportPath = reportPath;

            reportViewer1.RefreshReport();

        }

Desde otros formularios simplemente tenia que hacer la llamada a este y listo.

Ej:
            string reportPath = @"C:\Desarrollo\Aplicacion1\Aplicacion1\Report1.rdlc";
           
            // Creo un DataSet y le añado las Tablas que voy a utilizar
            DataSet ds_dataSet = new DataSet();
            ds_dataSet.DataSetName = "DataSet_Personal";
            ds_dataSet.Tables.Add(new Conexion().SQLGetTable("SELECT * FROM Personal","Personal"));

            List<ReportDataSource> dataSources = new List<ReportDataSource>();
            dataSources.Add(new ReportDataSource(ds_dataSet.DataSetName, ds_dataSet.Tables["Personal"]));

            // le mando todos los parametros al formulario en el que veo el informe            
            frm_visorInformesNoCrystal frmPruebvas = new frm_visorInformesNoCrystal(reportPath, dataSources);
            frmPruebvas.ShowDialog();

Hasta ahí todo funciona bien. Pero mi pregunta es:

   - Cuando yo creo un Report dentro del proyecto, se puede acceder a él siguiendo la ruta porque estoy en el ordenador en el que desarrollo la aplicación. Pero una vez compilo la aplicación y la distribuyo, en la carpeta Debug no aparecen esos Reportes y por lo tanto en otro ordenador no se podrán localizar.

      ¿ Hay alguna manera de acceder por el código a ese reporte que está en mi solución o es necesario que ponga los archivos .rdlc aparte en la misma carpeta que el ejecutable?

Muchas gracias. Un saludo.


Viewing all articles
Browse latest Browse all 3

Latest Images

Trending Articles





Latest Images