Fórum Relatórios no VS.NET #6513

05/06/2009

0

Amigos,     Literalmente estou apanhando,   Conheço pouco sobre os relatórios no Visual Studio e o pouco que conheço foram em vídeo Aulas Apresentadas,   Sei que existe o REPORT VIEW, REPORT SERVICE, cRYSTAL rEPORT E OUTROS,   Bom,   Oque eu preciso,     Criar um Formulário que Tenha uma opção de se escolher o relatório que é solicitado e apresetnar na tela.   Vejam     Criei o Formulário.  Acrescentei um TReeview e um Report View.   Os relatórios ( a princío estão Prontos)   Minha Dúvida é,   Report View:   É necessário um Dataset para cadas relatório? Se necessário isto não ocupa um espaço maior em memória?     Criei um Data Set a acrescentei 2 Views do Sql Server prontas com os dados do meu relatório, mas ele sempre dá problemas de CONSTRAINTS, ChAVE ÚNICA.     Alguem pode me dar um exemplo de uma aplicação (simples) mas pronta.     Obs. Quanto a Formatação e criação do Report não há necessidade de uma explicação mais detalhada.     Grato peka ajuda                  
Fernando Reis

Fernando Reis

Responder

Posts

05/06/2009

Luiz Maia

Fernando, tudo bom?   O ReportViewer é somente um visualizador facilitador, um controle que o Visual Studio te fornece para atachar seus Relatorios, sejam eles feitos usando o ReportingService ou Crystal.   Faça cada relatorio separado, ou seja, um arquivo .rdbl para cada uma, com um datasource para cada, não se preocupe com espaço e memoria.   Depois é so lincar o relatorio ao reportviewer de acordo com o que foi escolhido no menu TreeView.   Não tenho um aplicação ja pronta para lhe fornecer, mas caso seja necessário posso montar uma usando o NorthWind da MS, vc tem ele ai?   Abraços   Att Luiz Maia
Responder

Gostei + 0

05/06/2009

Fernando Reis

Ola Luiz,   Tenho o NorthWind sim e sinceramente te paço gentileza preparar algo para que eu possa vizualizar de uma forma melhor,     estou "apanhando" muito com isto e sinceramente prefiro voltar do começo para melhor esclarecimentos,   Fico no aguardo,     Abraços  
Responder

Gostei + 0

07/06/2009

Luiz Maia

Ola Fernando,   Fiz a aplicação toda aqui pra vc, ok? Caso esteja usando o VB ao inves do C#, basta transcrever o codigo, sem problemas.   Repare que no TreeView eu passo o Codigo do Relatorio por parametro para cada chamada a Pagina pela URL, assim no PageLoad ou monto o Relatorio que quero de acordo com o que foi escolhido no menu treeview.   http://video.devmedia.com.br/naoexclusivo/LuizMaia/Consultoria/reports_fernando.zip   Espero ter ajudado, e desculpe a demora. Abraços Att Luiz Maia
Responder

Gostei + 0

08/06/2009

Fernando Reis

Obrigado,   Vou testar e respondo em Breve   Grato
Responder

Gostei + 0

08/06/2009

Luiz Maia

OK Fernando, aguardo seu retorno. Abraços   Att Luiz Maia  
Responder

Gostei + 0

10/06/2009

Luiz Maia

Ola Fernando,   Como esta indo com os relatorios? Deu tudo certo?   Aguardo resposta ok.   Abraços Att Luiz Maia
Responder

Gostei + 0

16/06/2009

Luiz Maia

Ola Fernando,   Como não obtivemos retorno de sua soliticitação, estamos procedendo com o fechamento do chamado. Caso a dúvida ainda persista você pode reabrí-lo. Estamos a sua disposição para qualquer dúvida.   Abraços Att Luiz Maia
Responder

Gostei + 0

01/07/2009

Fernando Reis

Pode porfavor enviar o código parar abertura dos relatórios mas em   Windows Forms   ou seja   NÂO EM ASP.NET..     Grato
Responder

Gostei + 0

01/07/2009

Luiz Maia

Ola Fernando,   Windows Forms ou ASP.net, a estrutura é a mesma. É so você alterar de C# para VB. O intuito do sistema "Tira dúvidas", como proprio nome já diz, é somente tirar duvidas, citar uma direção e uma solução. Não inclui fazer codificação para os solicitantes, mas eu costumo fazê-lo, pois sei que o entendimento fica mais fácil. Esperoq
Responder

Gostei + 0

01/07/2009

Luiz Maia

Ola Fernando,   Windows Forms ou ASP.net, a estrutura é a mesma. É so você alterar de C# para VB.   O intuito do sistema "Tira dúvidas", como proprio nome já diz, é somente tirar duvidas, citar uma direção e uma solução. Não inclui fazer codificação para os solicitantes, mas eu costumo fazê-lo, pois sei que o entendimento fica mais fácil.   Espero que entenda. O Codigo que desenvolvi para vc, foi somente como exemplo. E C# ou VB, só muda a sintaxe.   Se sua duvida persistir, não exite em nos contactar, ok? Aguardo um retorno seu.   Abraços Att Luiz Maia
Responder

Gostei + 0

02/07/2009

Fernando Reis

Luiz,     Entendo e agradeço,   mas neste caso em específico, não consigo utilizar o mesmo código que enviou em ASP.NEt para Windows Forms.     Veja que existe uma referencia a as páginas ASP.NET  , WebControl   Tentei aplicar isto ao Windows Forms e Não Funciona.  ( ou não tenho QI , suficiente....kkkk)     Se puder me ajudar com o mesmo exemplo, mas em Windows Forms eu agradeceria muito
Responder

Gostei + 0

02/07/2009

Fernando Reis

Não Consigo passar este código para Windows Forms   Onde estou errando   using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        int codRelatorio = Convert.ToInt32("0" + Request.QueryString["Relatorio"]);
        Microsoft.Reporting.WebForms.ReportDataSource rds;
        ReportViewer1.Reset();
        ReportViewer1.LocalReport.Dispose();         switch (codRelatorio)
        {
            case 0:
                ReportViewer1.LocalReport.DataSources.Clear();
                rds = new Microsoft.Reporting.WebForms.ReportDataSource("Produtos_Products", "ObjectDataSource2");
                ReportViewer1.LocalReport.DataSources.Add(rds);
                ReportViewer1.LocalReport.ReportPath = "Produtos.rdlc";
                // Fernando: aqui tb vc adiciona os parametros caso tenha algum, ok...
                break;
            case 1:
                ReportViewer1.LocalReport.DataSources.Clear();
                rds = new Microsoft.Reporting.WebForms.ReportDataSource("Produtos_Products", "ObjectDataSource2");
                ReportViewer1.LocalReport.DataSources.Add(rds);
                ReportViewer1.LocalReport.ReportPath = "Produtos.rdlc";
                // Fernando: aqui tb vc adiciona os parametros caso tenha algum, ok...
                break;
            case 2:
                ReportViewer1.LocalReport.DataSources.Clear();
                rds = new Microsoft.Reporting.WebForms.ReportDataSource("Clientes_Customers",    "ObjectDataSource1");
                ReportViewer1.LocalReport.DataSources.Add(rds);
                ReportViewer1.LocalReport.ReportPath = "Clientes.rdlc";
                // Fernando: aqui tb vc adiciona os parametros caso tenha algum, ok...
                break;
        }         ReportViewer1.LocalReport.Refresh();
        ReportViewer1.Visible = true;
        ReportViewer1.ShowReportBody = true;
    }
}
Responder

Gostei + 0

02/07/2009

Fernando Reis

Não Consigo passar este código para Windows Forms   Onde estou errando   using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        int codRelatorio = Convert.ToInt32("0" + Request.QueryString["Relatorio"]);
        Microsoft.Reporting.WebForms.ReportDataSource rds;
        ReportViewer1.Reset();
        ReportViewer1.LocalReport.Dispose();         switch (codRelatorio)
        {
            case 0:
                ReportViewer1.LocalReport.DataSources.Clear();
                rds = new Microsoft.Reporting.WebForms.ReportDataSource("Produtos_Products", "ObjectDataSource2");
                ReportViewer1.LocalReport.DataSources.Add(rds);
                ReportViewer1.LocalReport.ReportPath = "Produtos.rdlc";
                // Fernando: aqui tb vc adiciona os parametros caso tenha algum, ok...
                break;
            case 1:
                ReportViewer1.LocalReport.DataSources.Clear();
                rds = new Microsoft.Reporting.WebForms.ReportDataSource("Produtos_Products", "ObjectDataSource2");
                ReportViewer1.LocalReport.DataSources.Add(rds);
                ReportViewer1.LocalReport.ReportPath = "Produtos.rdlc";
                // Fernando: aqui tb vc adiciona os parametros caso tenha algum, ok...
                break;
            case 2:
                ReportViewer1.LocalReport.DataSources.Clear();
                rds = new Microsoft.Reporting.WebForms.ReportDataSource("Clientes_Customers",                "ObjectDataSource1");
                ReportViewer1.LocalReport.DataSources.Add(rds);
                ReportViewer1.LocalReport.ReportPath = "Clientes.rdlc";
                // Fernando: aqui tb vc adiciona os parametros caso tenha algum, ok...
                break;
        }         ReportViewer1.LocalReport.Refresh();
        ReportViewer1.Visible = true;
        ReportViewer1.ShowReportBody = true;
    }
}
Responder

Gostei + 0

02/07/2009

Luiz Maia

Oi Fernando, blz?   Windows Forms não tem Request.Querystring, e outras coisas que esta no metodo que te passei. Foi so uma sugestão de implementação. Mas vou fazer para vc em Windows, ok?   Assim que estiver pronto, te aviso e disponibilizo no Disco Virtual.   Abraços Ate mais   Att Luiz Maia
Responder

Gostei + 0

02/07/2009

Fernando Reis

Grato,   Fico no aguardo
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar