none
Hidden RRS feed

  • Pergunta

  •  

    Olá

    Gostaria de tirar uma dúvida em relação à Hidden.

     

    Sei que se eu quiser esconder o valor de um campo tenho que ir em Properties / Visibility / Hidden.
    Mas ai só se aceita True or False. E se eu tiver uma condição, como faço? Se eu colocar somente TRUE or FALSE, ele vai mostrar ou esconder todas as linhas e não é isso que eu preciso. O que eu preciso é: Mostrar ou esconder tal linha desde que atenda algumas condições, ou seja, que só esconda as linhas que estiver na condição que eu estabeleci.

    O Crystal Reports eu consigo fazer isso e o Reporting Services não. Já tenho essa formula pronta no
    Crystal, mas não sei como passar para o Reporting Services. Já tentei de tudo, mas não dá certo.
     
    PLEASE. HELP-ME

    quinta-feira, 27 de dezembro de 2007 11:32

Respostas

  • Olá a todos

    Eu entendi bem o que vc quiz dizer e acredito que o caminho seja esse mesmo. Mas como não tenho
    muita experiencia com essa ferramenta, ainda não consegui. Essa Expression é a que fica na propriedade Visibility né? Se eu clicar com o botão direito e ir em Expression, ai não posso?!

     

     

    A minha condição no Crystal Report é assim:

    Code Block

    isnull({VW_VIEW.nome})
    or
    if  {?Pm-?Processo1} = 'S' then
        {VW_VIEW.situacao} = 'Trancado'
     or {VW_VIEW.situacao} = 'Cancelado'
     or {VW_VIEW.nota} = 'R'
     or {VW_VIEW.situacao} = 'Rep Freq'
     or {VW_VIEW.situacao} = 'Rep Nota'

     

     


    Fiz as alterações passando para a linguagem do reporting Services e ficou assim:

    Code Block

    =Fields!nome_compl.Value IsNothing
     or
    IIf ((Parameters!Processo.Value = "S", True, False)or
    IIf (Fields!situacao.Value = "Trancado"
     or Fields!situacao.Value = "Cancelado"
     or Fields!situacao.Value = "Rep"
     or Fields!situacao.Value = "Rep"
     or Fields!nota.Value = "X"))

     

     

    Alguém pode me ajudar a ver onde e pq está errado!

    Essa formula devo colocar em Edit Expression ou em Visibility?

     

    Se alguém puder me ajudar serie muito Grata, pois estou a mais de 6 meses quebrando a cabeça com essa formula.

     

    Att.

    Vanuza

    segunda-feira, 7 de janeiro de 2008 12:53
  •  

    Vanuza,

     

    Acho que você entendeu errado, não é que a propriedade hidden aceite SÓ true or false, ela aceita expressions mas a sua expressão DEVE retornar ou true ou false.

     

    Eu tentaria o seguinte com a sua expressão:

    Code Block

    =IsNothing(Fields!nome_compl.Value )

    or IIF(Parameters!Processo.Value= "S",

    (Fields!situacao.Value = "Trancado"

    or Fields!situacao.Value = "Cancelado"

    or Fields!situacao.Value = "Rep Freq"

    or Fields!situacao.Value = "Rep Nota"

    or Fields!nota.Value = "X")

    , false)

     

     

    Eu nao conheço a sintaxe do crystal para saber se as funçoes sao equivalentes, mas essa expressao que colei vai retornar true (e portanto oculta o campo) quando nome_compl.value for nulo e SE processo for igual a S vai vai retonar true se situacao assumir um dos valores: "Trancado", "Cancelado", "Rep Freq", "Rep Nota" ou nota="X"  caso contrario retorna false (e portanto mostra o campo).

     

    Acho que a partir desse exemplo você consegue adaptar para as suas necessidades Smile

     

    Att

    Boreki

     

    terça-feira, 8 de janeiro de 2008 01:09

Todas as Respostas

  • Oi Vanuza;

     

    Para resolver este problema seu basta que você clique na opção EXPRESSION no mesmo lugar onde você seleciona TRUE ou FALSE, ai vai ser aberta uma janela EDIT EXPRESSION, onde você pode colocar a condição ue deseja para que o campo seja ou não exibido.

     

    Como exemplo de condição para se colocar dê uma olhada nesta e adeque-a a sua necessidade.

     

    =iif(valor_total > 1000, true, false)

     

    Neste caso se o valor_total for maior que 1000 o campo é exibido caso contrario não é.

     

    []s.

     

    Paulo Jr.

    quinta-feira, 27 de dezembro de 2007 16:40
  • Na verdade você nem precisa usar um iif porque a própria condição retorna true/false. Basta colocar algo como

     

    =(Fields!Total.Value > 1000)

     

    ou

     

    =(Fields!Group.Value="Europe")

     

    Mas o iif é bem legal principalmente para fazer condições em cascata.

     

    quinta-feira, 27 de dezembro de 2007 21:22
  • Ola Boreri;

     

    Obrigado pelo esclarecimento, nunca havia me atentado para o fato de funcionaria sem o iif e também nunca tinha testado sem. Sempre usei com o iif. Apartir de agora vou fazer deste modo que você passou, acho que fica mais simples de se entender.

     

    []s

     

     

    sexta-feira, 28 de dezembro de 2007 10:22
  • Olá a todos

    Eu entendi bem o que vc quiz dizer e acredito que o caminho seja esse mesmo. Mas como não tenho
    muita experiencia com essa ferramenta, ainda não consegui. Essa Expression é a que fica na propriedade Visibility né? Se eu clicar com o botão direito e ir em Expression, ai não posso?!

     

     

    A minha condição no Crystal Report é assim:

    Code Block

    isnull({VW_VIEW.nome})
    or
    if  {?Pm-?Processo1} = 'S' then
        {VW_VIEW.situacao} = 'Trancado'
     or {VW_VIEW.situacao} = 'Cancelado'
     or {VW_VIEW.nota} = 'R'
     or {VW_VIEW.situacao} = 'Rep Freq'
     or {VW_VIEW.situacao} = 'Rep Nota'

     

     


    Fiz as alterações passando para a linguagem do reporting Services e ficou assim:

    Code Block

    =Fields!nome_compl.Value IsNothing
     or
    IIf ((Parameters!Processo.Value = "S", True, False)or
    IIf (Fields!situacao.Value = "Trancado"
     or Fields!situacao.Value = "Cancelado"
     or Fields!situacao.Value = "Rep"
     or Fields!situacao.Value = "Rep"
     or Fields!nota.Value = "X"))

     

     

    Alguém pode me ajudar a ver onde e pq está errado!

    Essa formula devo colocar em Edit Expression ou em Visibility?

     

    Se alguém puder me ajudar serie muito Grata, pois estou a mais de 6 meses quebrando a cabeça com essa formula.

     

    Att.

    Vanuza

    segunda-feira, 7 de janeiro de 2008 12:53
  • Ola Vanuza;

     

    Uma solução que pode atender você é colocar a condição para ocultar ou não a linha em cada uma das linhas de seu relatório.

     

    Para você fazer siga os seguintes passos:

    1º Selecione a linha

    2º Va na guia Propriedades

    3º Expanda a opção Visibility

    4º No combo Hidden escolha a opção Expression

     

    Será aberta a janela Edit Expression

     

    5º Insira sua condição.

     

    Veja se isto irá funcionar.

     

    Caso alguem tenha alguma solução mais adequada favor nos ajudar.

     

    []s

    segunda-feira, 7 de janeiro de 2008 13:06
  • Olá Paulo

     

    Eu já tinha feito esse procedimento e tbm não deu certo. Eu tbm havia tentado fazer assim: Clicar c/ o botão direito no campo, ir em Properties, depois na aba Visibility e selecionar a opção Expression e inserir a formula ai, mas para variar tbm não deu certo.

    Pelas pesquisas que fiz aqui na Net, algumas pessoas me falaram que em Visibility só se aceitava valores True ou False, mas no Livro que li do 'Reporting Services - Passo a Passo' dizia que se pode colocar formulas sim. E é isso que eu preciso.

     

    Sobre onde colocar a formula acredito que isso não importa mto agora, pois é em um desses lugares. O principal problema meu agora é a minha Expression. Deve ter algo de errado nela e au não sei o quê.

     

    Eu já postei minha formula aqui. Postei como estava no Crystal e como está no Reporting Services.

    Se alguém puder me ajudar em relação a expression ficarei mto grata.

     

     

    Att.

    Vanuza

    segunda-feira, 7 de janeiro de 2008 13:23
  •  

    Vanuza,

     

    Acho que você entendeu errado, não é que a propriedade hidden aceite SÓ true or false, ela aceita expressions mas a sua expressão DEVE retornar ou true ou false.

     

    Eu tentaria o seguinte com a sua expressão:

    Code Block

    =IsNothing(Fields!nome_compl.Value )

    or IIF(Parameters!Processo.Value= "S",

    (Fields!situacao.Value = "Trancado"

    or Fields!situacao.Value = "Cancelado"

    or Fields!situacao.Value = "Rep Freq"

    or Fields!situacao.Value = "Rep Nota"

    or Fields!nota.Value = "X")

    , false)

     

     

    Eu nao conheço a sintaxe do crystal para saber se as funçoes sao equivalentes, mas essa expressao que colei vai retornar true (e portanto oculta o campo) quando nome_compl.value for nulo e SE processo for igual a S vai vai retonar true se situacao assumir um dos valores: "Trancado", "Cancelado", "Rep Freq", "Rep Nota" ou nota="X"  caso contrario retorna false (e portanto mostra o campo).

     

    Acho que a partir desse exemplo você consegue adaptar para as suas necessidades Smile

     

    Att

    Boreki

     

    terça-feira, 8 de janeiro de 2008 01:09
  • Olá Boreki

     

    Nossa valeu mesmo pela dica. Era isso mesmo deu certo.

    A partir desse exemplo consegui fazer funcionar meu relatório e tbm irá me ajudar qdo eu tiver outra situação parecida.

    Muito Obrigada mesmo.

     

    Vanuza

    terça-feira, 8 de janeiro de 2008 11:49
  • Boa tarde pessoal!

    Esse fórum está sendo bem útil pra mim.Aliás eu já entrei em tanto fórum que já até perdi a conta .... rsrsrs

    Mas , indo ao que interessa é o seguinte ....

    Eu estou usando o Reporting Service 2000 e preciso ocultar um subreport do meu report principal quando o mesmo não retornar dados.

    Eu já tentei colocar várias expressões diferentes no hidden , mas não obtive sucesso:

    1ª tentativa) =Me!subreport6.Report.HasData

     

    2ª tentativa) =[Cassette subreport].Report.HasData

     

    3ª tentativa) =subreport6.Report.HasData

     

    entre outras tentativas falhas.....

    Alguém sabe de mais alguma expressão que eu possa utilizar para fazer isso?

     

    quinta-feira, 14 de fevereiro de 2008 14:33