Comment lier dynamiquement source de données à reportviewer sur les windows forms c#

J'ai créé un formulaire windows qui agit en tant que rapport du chargeur. J'ai créé également deux RDLC rapports par l'assistant de création de rapport et il a créé automatiquement des données de ces deux rapports. Maintenant, j'ai deux jeux de données: sparcsn4DataSet.xsd et sparcsn4DataSet1.xsd qui sont à l'aide de la procédure stockée et passe deux paramètres (dateFrom/dateTo). J'ai un problème avec la liaison dataset en fonction du statut:

if (idRep.Equals("extraMove"))

Il est assez facile de lier l'ensemble de données reportview, si vous en avez un rapport.

Comment lier dynamiquement source de données à reportviewer sur les windows forms c#
mais que faire si vous avez plus d'un? Je peux toujours créer un autre formulaire avec un autre reportviewer mais ce n'est pas une option (que faire si vous avez 10 rapports/ensembles de données), ce qui est définitivement hors de question?

Il devrait y avoir un moyen de lier l'ensemble de données reportviewer... quelqu'un a une idée, comment je peux résoudre problème de liaison en fonction de l'état?

if (idRep.Equals("extraMove"))
        {
            this.AGCT_ServiceEventReportTableAdapter.Fill(this.sparcsn4DataSet.AGCT_ServiceEventReport, d1,d2);
        }
        else if (idRep.Equals("stripStuff"))
        {
            this.AGCT_StripStuffReportTableAdapter.Fill(this.sparcsn4DataSet1.AGCT_StripStuffReport, d1, d2);
        }
        else
        {
            MessageBox.Show("Ooops, something went wrong...!");
        }

C'est ReportForm.cs qui ont reportviewer sur elle:

namespace NavisReportLoader
{
public partial class ReportForm : Form
{
public DateTime d1;
public DateTime d2;
public string dat1;
public string dat2;
public string idRep;
public ReportForm()
{
InitializeComponent();
}
public void passParam(string dateFrom, string dateTo, string date1, string date2)
{
//ispravi ovo
d1 = Convert.ToDateTime(dateFrom);
d2 = Convert.ToDateTime(dateTo);
dat1 = date1;
dat2 = date2;
}
public void report(string id)
{
idRep = id;
}
private void ReportForm_Load(object sender, EventArgs e)
{
ReportParameter[] param = new ReportParameter[2];
param[0] = new ReportParameter("date1", dat1);
param[1] = new ReportParameter("date2", dat2);
this.reportViewer1.LocalReport.SetParameters(param);
if (idRep.Equals("extraMove"))
{
this.AGCT_ServiceEventReportTableAdapter.Fill(this.sparcsn4DataSet.AGCT_ServiceEventReport, d1,d2);
}
else if (idRep.Equals("stripStuff"))
{
this.AGCT_StripStuffReportTableAdapter.Fill(this.sparcsn4DataSet1.AGCT_StripStuffReport, d1, d2);
}
else
{
MessageBox.Show("Ooops, something went wrong...!");
}
this.reportViewer1.RefreshReport();
}
}
}
InformationsquelleAutor dovla091 | 2014-02-25