none
Passar List<object> por parametro pro ReportViewer RRS feed

  • Pergunta

  • Oi, estou começando a fazer relatórios em asp.net e estou tendo algumas dificuldades em passar dados, se puderem me ajudar... Meu problema é o seguinte:

    É um relatorio onde eu passo dados cadastrais de uma pessoa, que eu fiz atraves deste comando:

    ReportParameter nomeLocadora = new ReportParameter("nomeLocadora", objLocadora.emp_fantas.ToString());
    rpContrato.LocalReport.SetParameters(nomeLocadora);

    E lá no meu Report.rdlc eu adicionei um novo parametro e está recebendo certinho.

    Só que eu preciso passar agora um objeto que é uma lista (List<object>)

    Como faço?

    Obrigado, aguardo a ajuda.


    • Editado Vinih GF segunda-feira, 28 de setembro de 2015 01:02
    segunda-feira, 28 de setembro de 2015 01:00

Todas as Respostas

  • Vinih eu faço assim para acessar os dados nos meus relatórios, ai basta vc adapatar o seu

    No load da página

    var reportViewer1 = new ReportViewer
                {
                    ProcessingMode = ProcessingMode.Local
                };
                reportViewer1.LocalReport.ReportPath = "caminho fisico do seu relatorio/seurelatorio.rdlc";
                reportViewer1.LocalReport.EnableExternalImages = true;
                reportViewer1.LocalReport.EnableHyperlinks = true;
                List<ReportParameter> parametros = new List<ReportParameter>();
    
                parametros.Add(new ReportParameter("usuario", usuario));
                
                reportViewer1.LocalReport.SetParameters(parametros);
    
    var dt1 = GetData(SQL);
    reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", dt1));

    Método para acessar os dados

    private DataTable GetData(string query)
            {
                var sqlDt = new DataTable();
                var SqlConnection = new SqlConnection(string.Format("sua string de conexao"));
                var sqlCommand = new SqlCommand(query, SqlConnection);
                var sqlDa = new SqlDataAdapter(sqlCommand);
                sqlDa.Fill(sqlDt);
    
                return sqlDt;
            }



    Junior

    segunda-feira, 28 de setembro de 2015 11:41
  • Olá Vinih!

    Nao é possível passar um List<object> para o relatório.. Você até pode passar uma lista, mas, somente uma lista de algum dos tipos de parâmetros suportados.. De acordo com a documentacao, estes sao os tipos suportados:

    A report parameter must be one of the following data types:

    Boolean. The user selects True or False from a radio button.
    DateTime. The user selects a date from a calendar control.
    Integer. The user types values in a text box.
    Float. The user types values in a text box.
    Text. The user types values in a text box.

    A propósito, para outros artigos sobre Report Viewer, confira este link:

    http://www.andrealveslima.com.br/blog/index.php/category/report-viewer/


    André Alves de Lima
    Microsoft MVP - Client App Dev
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima

    terça-feira, 3 de novembro de 2015 17:03
    Moderador