none
Relatório no Crystal Report em um aplicação MVC RRS feed

  • Pergunta

  • Bom dia, 

    Pessoal estou tentando criar em meu projeto C# Windows Form  um relatório dentro do Crystal que vai funcionar  como um recibo para o cliente e nele deve conter os dados  do cliente bem como os itens da venda entre outro o meu problema esta em gerar esse relatório em MCV pois precisava que esses dados viessem de métodos das classes e não diretamente do banco de dados se puderem me ajudar


    • Editado Michelmax1 quinta-feira, 11 de dezembro de 2014 11:29 erro de digitação
    quinta-feira, 11 de dezembro de 2014 11:07

Respostas

  • Na Controller você busca o relatorio e o prepara para ser apresentado, no Form vai ter que ter um controle do Crystal reports para apresentar o relatório.

    http://csharp.net-informations.com/crystal-reports/csharp-crystal-reports-stepbystep.htm

    http://www.devmedia.com.br/codificacao-e-resultado-final-do-projeto-relatorios-com-crystal-reports-em-windows-forms-com-c-parte-2/22239

     
    • Marcado como Resposta Michelmax1 quinta-feira, 11 de dezembro de 2014 19:29
    quinta-feira, 11 de dezembro de 2014 13:36

Todas as Respostas

  • O mesmo relatório que você usar na aplicação Windows Forms pode também ser usada no Asp.Net MVC, a diferença é que você vai apresentar como PDF na página WEB

    public ActionResult DetailsReport()
            {
                ReportClass rptH = new ReportClass();
                rptH.FileName = Server.MapPath("~/Content/Reports/CrystalReport.rpt");
                rptH.Load();
    
                //GetAllCustomers() return a list of Custom type
                rptH.SetDataSource(ToDataTable<Customer>(Customer.GetAllCustomers()));
                Stream stream = rptH.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
                return File(stream,"application/pdf");
            }
    
            //Cast the list<T> to DataTable type
            private DataTable ToDataTable<T>( List<T> data)
            {
                PropertyDescriptorCollection props = TypeDescriptor.GetProperties(typeof(T));
                DataTable table = new DataTable();
                for (int i = 0; i < props.Count; i++)
                {
                    PropertyDescriptor prop = props[i];
                    table.Columns.Add(prop.Name, prop.PropertyType);
                }
                object[] values = new object[props.Count];
                foreach (T item in data)
                {
                    for (int i = 0; i < values.Length; i++)
                    {
                        values[i] = props[i].GetValue(item);
                    }
                    table.Rows.Add(values);
                }
                return table;
            }

    quinta-feira, 11 de dezembro de 2014 12:50
  • Tudo bem Cesar, 

    como eu faço ele no windows form com mvc

    quinta-feira, 11 de dezembro de 2014 13:03
  • Você está querendo fazer isso no Asp.net MVC ou o padrão MVC você está usando no projeto Windows Forms
    quinta-feira, 11 de dezembro de 2014 13:21
  • eu estou fazendo no  padrão MCV  no windows form
    quinta-feira, 11 de dezembro de 2014 13:30
  • Na Controller você busca o relatorio e o prepara para ser apresentado, no Form vai ter que ter um controle do Crystal reports para apresentar o relatório.

    http://csharp.net-informations.com/crystal-reports/csharp-crystal-reports-stepbystep.htm

    http://www.devmedia.com.br/codificacao-e-resultado-final-do-projeto-relatorios-com-crystal-reports-em-windows-forms-com-c-parte-2/22239

     
    • Marcado como Resposta Michelmax1 quinta-feira, 11 de dezembro de 2014 19:29
    quinta-feira, 11 de dezembro de 2014 13:36