LocalReport.SubReportProcessing event is ignoring subsequent DataTables
===

I have an (rdlc) report which contains a subreport within a table.  For each instance of the subreport that is generated the `LocalReport.SubreportProcessing` event is fired, which is in [agreement with the documentation][1].

However for each of these events, it appears that only the **first DataTable assigned is used within the report**.  I can verify that  `ReportFactory.ReturnNextDataTable` is returning the appropriate DataTable for each row, but it appears the first instance of the DataTable is being repeated multiple times.

I've tried clearing out the report DataSources for each call (using `e.DataSources.Clear()`) but this makes no difference.

Here is my code:

    void AddData(object sender, SubreportProcessingEventArgs e)
            {  
                DataTable merged = ReportFactory.ReturnNextDataTable;
                e.DataSources.Add(new ReportDataSource("RATES", merged)); //Subsequent DataTables ignored      
            }

I can't help feeling I'm going about this fundamentally the wrong way.  Any ideas?

  [1]: http://msdn.microsoft.com/en-us/library/microsoft.reporting.webforms.localreport.subreportprocessing%28v=vs.100%29.aspx