none
Report com mais de um Subreport RRS feed

  • Pergunta

  • galera, estou tendo um probleminha com subreport.

    o problema é o seguinte:

    não consigo processar 2 subreport particularmente.Os subreports são iguais e apontam para o mesmo relatório, porém a query difere. Eu consigo processa-los, porém os dois mostram os mesmos dados.

    como faço a distinção? 

    o evento ta assim:

    void

     

    SubreportProcessingEventHandler(object sender, SubreportProcessingEventArgs e)

    {

     

    DataSet dts = new DataSet();

     

    SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["Conexao"]);

     

    SqlDataAdapter dta = new SqlDataAdapter("select count(*) as Total from vw_SAC_Tarefa2 where Enviado=1 and idStatus<>19 and Empresa like '%" + e.Parameters[0].Values[0] + "%' group by Empresa", con);

    dta.Fill(dts,

    "SOLDataSet_vw_SAC_Tarefa2");

    e.DataSources.Clear();

     

    ReportDataSource rds = new ReportDataSource("SOLDataSet_vw_SAC_Tarefa2", dts.Tables["SOLDataSet_vw_SAC_Tarefa2"]);

    }

     


    sábado, 30 de janeiro de 2010 14:01

Respostas

  • Vc pode tentar isso..onde e.ReportPath é o nome do seu subReport.....

     

     

    SubreportProcessingEventHandler(object sender, SubreportProcessingEventArgs e)
    
    {
    
    	if (e.ReportPath == "SubReport1")
    
            {
    
                Relatorios.DataSets.dsPrincipalTableAdapters.vwViewQueRetornaOsDados1TableAdapter ta = new Referencia.Relatorios.DataSets.dsPrincipalTableAdapters. vwViewQueRetornaOsDados1TableAdapter ();
    
                e.DataSources.Add(new ReportDataSource("dsPrincipal_vwViewQueRetornaOsDados1", ta.NomeDoMetodo(e.Parameters["codDoObjetoPrincipal"].Values[0])));
    
            }
    
            if (e.ReportPath == "SubReport2")
    
            {
    
                Relatorios.DataSets.dsPrincipalTableAdapters.vwViewQueRetornaOsDados2TableAdapter ta = new Referencia.Relatorios.DataSets.dsPrincipalTableAdapters. vwViewQueRetornaOsDados2TableAdapter ();
    
                e.DataSources.Add(new ReportDataSource("dsPrincipal_vwViewQueRetornaOsDados2", ta.NomeDoMetodo(e.Parameters["codDoObjetoPrincipal"].Values[0])));
    
            }
    
    }

     

    quarta-feira, 3 de fevereiro de 2010 14:58

Todas as Respostas

  • Vc pode tentar isso..onde e.ReportPath é o nome do seu subReport.....

     

     

    SubreportProcessingEventHandler(object sender, SubreportProcessingEventArgs e)
    
    {
    
    	if (e.ReportPath == "SubReport1")
    
            {
    
                Relatorios.DataSets.dsPrincipalTableAdapters.vwViewQueRetornaOsDados1TableAdapter ta = new Referencia.Relatorios.DataSets.dsPrincipalTableAdapters. vwViewQueRetornaOsDados1TableAdapter ();
    
                e.DataSources.Add(new ReportDataSource("dsPrincipal_vwViewQueRetornaOsDados1", ta.NomeDoMetodo(e.Parameters["codDoObjetoPrincipal"].Values[0])));
    
            }
    
            if (e.ReportPath == "SubReport2")
    
            {
    
                Relatorios.DataSets.dsPrincipalTableAdapters.vwViewQueRetornaOsDados2TableAdapter ta = new Referencia.Relatorios.DataSets.dsPrincipalTableAdapters. vwViewQueRetornaOsDados2TableAdapter ();
    
                e.DataSources.Add(new ReportDataSource("dsPrincipal_vwViewQueRetornaOsDados2", ta.NomeDoMetodo(e.Parameters["codDoObjetoPrincipal"].Values[0])));
    
            }
    
    }

     

    quarta-feira, 3 de fevereiro de 2010 14:58
  • Muito obrigado pela dica!
    Eu estava com um problema semelhante e essa ideia funcionou bem para mim também.
    quinta-feira, 3 de setembro de 2015 19:02