Recharger et Actualiser la Visionneuse de Rapports basé sur le Nouveau Fichier RDLC

J'ai écrit un programme C# à l'aide de VS 2008 qui utilise le construit dans la Visionneuse de Rapports et processus de rapports à l'échelle locale.

Lorsque le rapport est regardé, je veux remplacer l'actuel rdlc fichier avec un nouveau et actualiser le rapport sans fermer le formulaire de rapport qui contient la visionneuse de rapports.

J'ai déjà vérifié pour s'assurer que le fichier est généré correctement. Si je ferme le formulaire avec la visionneuse de rapports et de l'ouvrir à sauvegarder le nouveau fichier d'informations. Je ne peux pas comprendre comment recharger la visionneuse de rapports sans fermer le formulaire parent.

Ci-dessous est ce que j'ai déjà essayé. Je n'ai pas de messages d'erreur. Le rapport s'affiche à rafraîchir, mais c'est vraiment juste me montre ce que j'étais déjà en train de regarder. La nouvelle RDLC fichier n'est pas chargé.

private void BtnRefreshRpt_Click(object sender, EventArgs e)
    {

        try
        {

            GenerateNewRDLC GN = new GenerateNewRDLC();
            GN.generateFile();  /*this part definitely works*/


            SqlConnection conReport = new SqlConnection     (ConfigurationManager.ConnectionStrings["Connection String Info"].ConnectionString);
            SqlCommand cmdReport = new SqlCommand();
            SqlDataReader drReport;
            DataSet dsReport = new AdvEdgeDataSet();

            conReport.Open();

            cmdReport.CommandType = CommandType.Text;
            cmdReport.Connection = conReport;
            cmdReport.CommandText = strRptCriteria;

            drReport = cmdReport.ExecuteReader();

            dsReport.Tables[0].Load(drReport);

            drReport.Close();
            conReport.Close();

            reportViewer1.LocalReport.ReportPath = strRptResource.ToString();


            ReportDataSource rds = new ReportDataSource();
            rds.Name = strRptDataSource;
            rds.Value = dsReport.Tables[0];
            reportViewer1.LocalReport.DataSources.Add(rds);
            reportViewer1.RefreshReport();
            reportViewer1.SetDisplayMode(DisplayMode.PrintLayout);

            //this.reportViewer1.RefreshReport();

        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }
InformationsquelleAutor JK. | 2009-08-28