none
Como colocar dados de um combobox e usar no parâmetro do crystal report RRS feed

  • Pergunta

  • Olá!

      Estou tendo um problema ao tentar pegar dados de um combobox que está listando as categorias e quando eu cliclo no botão abre um crystal report mostrando apenas os dados que estavam no combobox.

      Já criei o parâmetro no crystal, mas ele abre um prompt pra mim digitar o que eu quero. E estou usando o Banco de dados ACCESS e linguagem C#.

    Abraço



    quinta-feira, 18 de fevereiro de 2016 13:49

Respostas

Todas as Respostas

  • Olá Marcelo,

    Para passar um parâmetro para o seu relatório do Crystal, basta utilizar o método SetParameterValue.. Seria algo como:

    SeuRelatorio.SetParameterValue("NomeParametro", "Valor");

    Se quiser ver mais alguns artigos sobre relatórios no Crystal Reports e Report Viewer, dê uma olhada no meu site:

    Artigos sobre relatórios Crystal Reports e Report Viewer

    Abraço!


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

    quinta-feira, 18 de fevereiro de 2016 14:10
    Moderador
  • Andre eu to começando agora, to aprendendo a base de tutoriais, deixo eu ve se você consegue me ajudar.

    Eu tenho um formulario que tem um combobox e um botão listando as categorias.

    Tenho um outro formulario que está mostrando o relatorio, e nesse relatorio tem um parametro.

    como eu faço que ao clicar no botão do combobox ele pegue o valor dele, e mostre somente os dados que quero, pq do jeito que eu estou fazendo ele está só abrindo o relatorio e não esta pegando o valor do combobox, ai ele abre um prompt e eu tenho que digitar ai funciona.

    Esse é o código do form do combobox

                             
    private void BtnGerarRelatorio_Click(object sender, EventArgs e)
            {
                form_lista_categorias mostrar = new form_lista_categorias();    //form_lista é o formulario do relatorio
                mostrar.CodigoCategoria = (int)cbocategoria.SelectedValue; // o "CodigoCategoria" é uma classe que crie no form onde esta mostrando o relatorio, "cbocategoria" é o nome do combobox
                mostrar.Show();
    
            }

    Esse é o cógigo do form onde mostra o relatorio

    public void form_lista_categorias_Load(object sender, EventArgs e)
            {
                
        ReportDocument rd = new ReportDocument();
        rd.Load(@"P:\sysbens\sysbens\rel_categoria.rpt");
        ParameterField parametro = rd.ParameterFields["codigoDaCategoria"]; //"codigoDaCategoria" é o parametro que criei no meu relatorio
       parametro.CurrentValues.AddValue(this.CodigoCategoria);
       CRVProdutosPorCategoria.ReportSource = rd;//"CRVProdutosPorCategoria" é CrystalReporviewer           
       rd.Refresh();
            }

    Esse código eu peguei desse vídeo https://www.youtube.com/watch?v=1rJrYu4qGYg&feature=youtu.be, só que está usando o sql server e eu estou usando o Access.

    Espero que você possa me ajudar não sei onde mais conseguir ajuda.

    Abraço


    quinta-feira, 18 de fevereiro de 2016 14:32
  • Olá Marcelo,

    Tente da seguinte maneira:

    ReportDocument rd = new ReportDocument();
    rd.Load(@"P:\sysbens\sysbens\rel_categoria.rpt");
    CRVProdutosPorCategoria.ReportSource = rd;//"CRVProdutosPorCategoria" é CrystalReporviewer           
    rd.SetParameterValue("codigoDaCategoria", this.CodigoCategoria);
    rd.Refresh();

    Abraço!


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

    sexta-feira, 19 de fevereiro de 2016 08:55
    Moderador
  • Bom dia André!

      Obrigado pela ajuda, mas ainda não funciona, continua a mesma coisa.

    Abraço

    sexta-feira, 19 de fevereiro de 2016 11:22
  • Olá Marcelo,

    Muito estranho hein.. Você tem certeza que o nome do parâmetro é exatamente esse mesmo no relatório (inclusive maiúsculas e minúsculas)? Além disso, o tipo de dados do parâmetro bate com o tipo do valor que você está passando para o relatório (por ex., inteiro e inteiro, string e string, etc)?


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

    segunda-feira, 22 de fevereiro de 2016 12:32
    Moderador
  • Bom dia André!

      Quanto aos nomes tenho certeza sim, e quanto ao tipo de dados já tentei os dois inteiro e os dois string e nada.

      Teria como eu te mandar meu projeto pra você dar uma olhada?

    Abraço e obrigado pela ajuda.

    segunda-feira, 22 de fevereiro de 2016 13:50
  • Olá Marcelo,

    Sim.. Entre em contato por e-mail: contato arroba andrealveslima ponto com ponto br..


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

    segunda-feira, 22 de fevereiro de 2016 14:46
    Moderador
  • Te mandei lá, obrigado.

    Abraço

    segunda-feira, 22 de fevereiro de 2016 15:52
  • Olá Marcelo,

    Não recebi nada aqui.. Será que o provedor não bloqueou? Se você preferir, suba o projeto em algum lugar (Dropbox ou Onedrive, por exemplo) e eu baixo daqui..


    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, 23 de fevereiro de 2016 10:29
    Moderador
  • Olá André!

    Segue o link https://drive.google.com/file/d/0B33KECNkl79IN09uWWxZVHpVSEk/view?usp=sharing

    terça-feira, 23 de fevereiro de 2016 12:25
  • Olá Marcelo, tudo tranquilo?

    Seguinte, para resolver o seu problema você precisa:

    1) Remover a linha rd.Refresh();

    2) Remover a fórmula de filtro no agrupamento:

    3) Alterar o tipo do parâmetro no relatório para "número"

    4) Adicionar a fórmula "{tb_tipo.id_tipo}={?codigoDaCategoria}" no filtro de dados:

    Pronto!

    Agora eu fiquei curioso: você fez o relatório geral no Report Viewer (rdlc), mas, resolveu fazer o relatório por categoria no Crystal Reports? Algum motivo específico para você ter resolvido utilizar duas ferramentas de relatório diferentes no mesmo projeto?

    Abraco!


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

    quarta-feira, 24 de fevereiro de 2016 07:39
    Moderador
  • Olá, não tão tranquilo, e você?

      Fiz tudo que você falo e nada, ele não está listando nenhum dado.
      Quanto aos dois tipos de relatórios, é que como te falei lá no começo, eu esto fazendo através de tutoriais, então foi por isso, o primeiro que é o completo eu fiz através de um jeito, ai eu queria fazer por categorias ai achei apenas esse tutorial que ensina fazer com crystal report.

    Abraço e muito obrigado

    quarta-feira, 24 de fevereiro de 2016 14:06
  • Olá Marcelo,

    Será que você não pulou algum passo? Veja só:

    https://www.youtube.com/watch?v=vXBC37PYjho

    E quanto ao Report Viewer, dá para fazer a mesma coisa utilizando filtros nele também.. Eu escrevi um e-book sobre Report Viewer e dentro dele eu abordo o tema de filtros no relatório.. Se você se interessar, veja mais detalhes aqui:

    E-book sobre Report Viewer

    Abraço!


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

    • Marcado como Resposta Marcelo Guttau quarta-feira, 24 de fevereiro de 2016 18:35
    quarta-feira, 24 de fevereiro de 2016 15:53
    Moderador
  • Grande André!

      Salvou minha vida/projeto, deu certo agora...
      A única coisa que eu estava fazendo de diferente era trocando o tipo do parâmetro no relatório para "número" por último.

      Muito obrigado mesmo, sem palavras pra você por ter perdido seu tempo comigo. Sucesso meu amigo.

    quarta-feira, 24 de fevereiro de 2016 18:35
  • Magina Marcelo! Fico feliz que deu certo.. :)

    Abraço e sucesso aí também!


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

    quinta-feira, 25 de fevereiro de 2016 05:05
    Moderador