2016-10-07 4 views
0

Der Fehler Ich erhalte ist „Eine Datenquelle Instanz wurde nicht für die Datenquelle‚AssetLatencyCompleteDataSet_fsAssetLatencyComplete‘geliefert“Microsoft Report Viewer Drillthrough- mit mehreren Datenquellen

Ich habe 2 Datenquellen, AssetSummaryDataSet und AssetLatencyCompleteDataSet

Ich kann nur 1 Dateninstanz auswählen, ich habe mich umgesehen und es scheint, dass ich in der Lage sein sollte, zusätzliche Datenquellen für einen einzelnen Bericht hinzuzufügen, und sie würden innerhalb des hier angezeigten Berichtsviewer-Steuerelements auffüllen. enter image description here

Ich habe den DrillThrough-Handler erstellt, aber ich bekomme immer noch den obigen Fehler.

Wie kann ich der Berichtsanzeige die fehlende Datenquelleninstanz hinzufügen?

{ 
public partial class frmAssetSummaryRpt : Form 
{ 
    public frmAssetSummaryRpt() 
    { 
     InitializeComponent(); 
    } 

    private void frmAssetSummaryRpt_Load(object sender, EventArgs e) 
    { 
     // TODO: This line of code loads data into the 'assetSummaryDataSet.fsAssetRecoverySummaryByClientWO' table. You can move, or remove it, as needed. 
     this.fsAssetRecoverySummaryByClientWOTableAdapter.Fill(this.assetSummaryDataSet.fsAssetRecoverySummaryByClientWO); 


     reportViewer1.Drillthrough += new DrillthroughEventHandler(reportDrillthroughEventHandler); 

     this.reportViewer1.RefreshReport(); 


    } 
    void reportDrillthroughEventHandler(object sender, DrillthroughEventArgs e) 
    { 

     LocalReport localReport = (LocalReport)e.Report; 
     localReport.DataSources.Add(new ReportDataSource("fsAssetLatencyComplete", (object)assetLatencyCompleteDataSet.fsAssetLatencyComplete)); 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     frmAssetLatencyFullRpt AssetLatencyFullReport = new frmAssetLatencyFullRpt(); 
     AssetLatencyFullReport.Show(); 
    } 
} 

}

Antwort

1

Sie brauchen nur Zeile

folgende Änderungen
localReport.DataSources.Add(new ReportDataSource("fsAssetLatencyComplete", (object)assetLatencyCompleteDataSet.fsAssetLatencyComplete)); 

Statt "fsAssetLatencyComplete" angeben "AssetLatencyCompleteDataSet_fsAssetLatencyComplete"

Verwandte Themen