none
ReportViewer - Como esconder subreport sem dados? RRS feed

  • Pergunta

  • Olá Pessoal

    Consegui criar um relatório no ReportViewer com 2 "subreport". É um relatório de NFs emitidas com os produtos e serviços das NFs.
    O que eu não consegui foi "esconder" os subreport criados que não contém dados.
    Exe.:
    Em uma determinada NF não tenho SERVIÇOS, apenas PRODUTOS, então não gostaria que aparecesse o subreport dos SERVIÇOS (como não tem dados aparece apenas o cabeçalho).

    Se alguém puder ajudar agradeço.

    Grande abraço e obrigado a todos!!
    quinta-feira, 23 de julho de 2009 14:58

Respostas

  • Testei também conforme Robson referenciou e funcionou :


    No visibilty, Hidden e <expression...>

    =Iif( Trim(Fields!ID.Value) =

    "",True,False)

    • Marcado como Resposta AthosBranco quinta-feira, 10 de setembro de 2009 19:43
    quarta-feira, 2 de setembro de 2009 11:26

Todas as Respostas

  • No Crystal é assim:

    Botão direto no subreport
    Format Subreport...
    Aba Subreport
    Marcar a opção Suppress Blank Subreport


    flw
    sexta-feira, 24 de julho de 2009 00:47
  • Obrigado por seu post Fábio

    Alguém sabe como fazer isso no REPORT VIEWER?
    Grato
    segunda-feira, 27 de julho de 2009 13:08

  • Olá,

    Voce já resolveu este problema ?


    Cumprimentos,
    Jorge PaulinoMedalhas de usuário

    http://vbtuga.blogspot.com/
    quarta-feira, 5 de agosto de 2009 19:26
  • Não Jorge,

    Infelizmente ainda não... Já estou quase desisitindo!!

    Abraços

    Athos Rodrigo
    segunda-feira, 10 de agosto de 2009 18:10
  • Opa cara,

    (Estou fazendo de cabeça, portanto não sei se dará certo, mas acredito que sim)

    Não tem como você colocar uma condição na propriedade Visibility->Hidden da linha de detail onde está o sub-relatório?
    Se tiver, é até o melhor jeito, pois além de não mostra-lo, não ficará o espaço vazio da linha.

    Para fazer isso:

    - Selecione, no relatório pai, a linha de detalhe onde está o seu sub-relatorio. Vá em Properties->Visibility->Hidden.

    - Na caixa de opções da propriedade Hidden, escolha <Expression> e no editor de expressão, define sua condição para ocultar ou nao a linha:

    =Iif(Fields!Campo.Value="X" , True, False)

    Onde Fields!Campo.Value="X" é apenas um exemplo de condição que indique que o sub-relatório nao tem dados. Se ela for verdadeira, a linha será ocultada (consequentemente seu sub-relatorio tbem).
    -----------------------------------------------------------------------------------------------

    Outra opção, se o seu sub-relatorio tiver SOMENTE tables, voce pode, na propriedade NoRows da tabela, colocar a expressão =" " para que nao seja exibido nada quando o sub estiver sem dados. No entanto, no relatório pai a linha de detail continuaria ocupando espaço.

    -----------------------------------------------------------------------------------------------

    Não sei se consegui ser claro. Qualquer coisa, dê um retorno.

    COMPLEMENTO: ah, esqueci que no próprio subreport (o controle que você arrasta pro relatório pai), possui em suas propriedades a propriedade Visibility. Clique com o direito no subreport -> Properties -> Visibility. Aí defina a expressao. Ainda assim, acredito que a linha de detail onde ele está continuaria aparecendo em branco e portando ocupando espaço.


    []s

    quinta-feira, 13 de agosto de 2009 22:52
  • Obrigado Robson

    Vou testar já!!!
    Assim que tiver uma resposta dou retorno. Grato!!!

    []s


    Athos Rodrigo
    ** Agora com uma luz no fim do tunel **  :-)
    sexta-feira, 14 de agosto de 2009 12:29
  • Testei também conforme Robson referenciou e funcionou :


    No visibilty, Hidden e <expression...>

    =Iif( Trim(Fields!ID.Value) =

    "",True,False)

    • Marcado como Resposta AthosBranco quinta-feira, 10 de setembro de 2009 19:43
    quarta-feira, 2 de setembro de 2009 11:26