You can try this
create eventhandler at the time of main report loading
ReportViewer1.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(LocalReport_SubreportProcessing);
then
void LocalReport_SubreportProcessing(object sender, SubreportProcessingEventArgs e)
{
String param= e.Parameters[0].Values[0];
ReportDataSource datasource = new ReportDataSource("subrptdatasourcename",subrptdatasource);
e.DataSources.Add(datasource);
}