none
Crystal Report pergunta pelo parâmetro criado RRS feed

  • Pergunta

  •   Turma, saudações! Esse é meu primeiro post , portanto pega leve se a pergunta for besta (deve ser parâmetro, mas encontro onde configurar)

     

      Seguinte: tenho uma aplicação web usando C#, VS2008 e o crystal que vem com ele (se não me engano o 10.5, certo?). Quero colocar um cabeçalho no relatório referente ao período que o usuário escolher do tipo:

    <Título do relatório>

    Fornecedor: Fulano de Tal

    Período: de <DataInicial> até <DataFinal>

     

      Encontrei como fazer isso no Crystal, mas ao criar o parâmetro, o Crystal cria uma página dele perguntando pelo valor do parâmetro! Onde eu oculto essa página. Parâmetro preenchido ou não ela aparece.

     

      O que usei para preencher o parâmetro foi:

     

    ParameterFieldDefinition pfd = report.DataDefinition.ParameterFields["DataInicial"];

    ParameterValues pv = pfd.CurrentValues;

    ParameterDiscreteValue pdv = new ParameterDiscreteValue();

    pdv.Value = "" + Session["RELDATAINI"];

    pv.Add(pdv);

    pfd.ApplyCurrentValues(pv);

     

      Também já tentei usar formulas do Crystal, mas como estou exibindo no cabeçalho, dá erro dizendo que a expressão deve ser usada posteriormente (acredito que num totalizador de grupo ou algo assim).

     

      Preenchendo o fórmula field foi:

      report.DataDefinition.FormulaFields["DataInicial"].Text = "" + Session["RELDATAINI"];

     

      Se tiverem alguma idéia, sou todo ouvidos. Já fucei isso por um dia inteiro e não descubro como ocultar o "pedido de parâmetros" do Crystal...

     

      Abraços e obrigado.

    terça-feira, 6 de janeiro de 2009 11:43

Respostas

  • Amigos, encontrei a solução.

    Na verdade, uma das propriedades do CrystalReportViewer se chama EnableParameterPrompt. Isso faz com que os parametros sejam sempre perguntados pelo viewer. Colocando-a como false, tudo funcionou como esperava.

     

      Forte abraço e Laércio, obrigado pela prontidão no help!

     

    Gabriel Novy.

     

    sexta-feira, 9 de janeiro de 2009 19:11

Todas as Respostas

  • Gabriel seja bem vindo ao Fórum MSDN.

     

    Existe uma forma bem simples de definir um parâmetro no Crystal Reports.

     

    Exemplo:

     

    Code Snippet

    'definindo o DataSource do relatório

    crReportDocument.SetDataSource(oTable)

     

     

    crReportDocument.SetParameterValue("NOME_DO_PARAMETRO", "VALOR_DO_PARAMETRO")

     

    crReportDocument.SetParameterValue("DataInicial", Session("RELDATAINI"))

     

    Detalhe importante:

    Para funcionar corretamente os parametros devem ser informados após a definição do DataSource do Relatório.

     

     

    Uma outra dica:

     

    Criei um tópico fixo no fórum MSDN com algumas dicas  sobre a construção de relatórios com Crystal Reports e ReportView (incluindo 3 vídeos com vários exemplos de como construir relatórios com os componentes, licença, distribuição, service packs, etc.):

     

    Eu faço a construção dos relatórios (designer) utilizando um DataSet e tenho uma rotina parra passar os dados a serem exibidos no relatório.

     

    http://forums.microsoft.com/MSDN-BR/ShowPost.aspx?PostID=3761576&SiteID=21

     

     

    []'s

    Laércio.


    Ajude a melhorar o nosso Fórum!
    Não esqueça de marca a mensagem como "útil", caso tenha ajudado.

     

     

    terça-feira, 6 de janeiro de 2009 12:28
    Moderador
  • Laércio, obrigado pelas boas vindas.

     

    O relatório está funcionando se eu tirar os campos de parâmetro do cabeçalho. O que acontece é que adicionando os campos de parâmetros, ao visualizar o relatório ele pede esses parâmetros. Mesmo que sejam adicionados corretamente e após definir o DataSource do relatório.

     

    Pode deixar que vou dar uma olhada nos seus vídeos, mas aqui no trabalho tudo é barrado e se me virem assistindo um vídeo então... Aff...

     

    Forte abraço e obrigado pelo retorno!

     

    Gabriel Novy B. Chaves

     

    terça-feira, 6 de janeiro de 2009 13:11
  • Gabriel,

     

         Caso não resolva com os vídeos, pode postar que eu ajudo a resolver o problema. Depois não deixe de postar um feedback sobre o que vc achou do conteúdo dos vídeos.

     

         Infelizmente esse problema de assistir um vídeo técnico ou participar de um fórum é muito complicado dentro das empresas. São poucas as empresas que reconhecem esse tipo de iniciativa dos funcionários.

     

       Hoje, essa colaboração é fundamental para qualquer profissional de TI.

     

       [ ] 's

     

        Laércio.

     

     

     

     

     

        

    terça-feira, 6 de janeiro de 2009 13:39
    Moderador
  • Amigos, encontrei a solução.

    Na verdade, uma das propriedades do CrystalReportViewer se chama EnableParameterPrompt. Isso faz com que os parametros sejam sempre perguntados pelo viewer. Colocando-a como false, tudo funcionou como esperava.

     

      Forte abraço e Laércio, obrigado pela prontidão no help!

     

    Gabriel Novy.

     

    sexta-feira, 9 de janeiro de 2009 19:11
  • Amigos, encontrei a solução.

    Na verdade, uma das propriedades do CrystalReportViewer se chama EnableParameterPrompt. Isso faz com que os parametros sejam sempre perguntados pelo viewer. Colocando-a como false, tudo funcionou como esperava.

     

      Forte abraço e Laércio, obrigado pela prontidão no help!

     

    Gabriel Novy.

     

    Oi Voce sabe onde encontro essa propriedade "EnableParameterPrompt. ", pois ela não está disponível na cixa de propriedade


    Pinho
    quinta-feira, 23 de abril de 2009 22:18