Usuário com melhor resposta
Hidden

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
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 Blockisnull({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
-
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 =
or
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
Att
Boreki
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.
-
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.
-
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
-
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 Blockisnull({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
-
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
-
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
-
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 =
or
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
Att
Boreki
-
-
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?