Setar propriedade de navegaçao do item

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
marlonpasquali
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 248
Registrado em: Sex, 06 Fev 2009 3:02 pm
Localização: ERECHIM - RS

amigos, boa tarde.
Preciso de um help.
Como faço para setar a propriedade do item como não navegavel em tempo de execução. Quero que quando entre no item, atraves de uma condiçao, eu possa setar o campo como não navegavel.
tentei usar o camando abaixo no PRE_TEXT_ITEM mas não funcionou:
set_item_property('FORM.CAMPO', navigable, property_false);

obrigado,
Marlon
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

use a propriedade enabled, na hora de voltar sete a navigable como true também, pra desabilitar só a enabled já ta blza.

set_item_property('FORM.CAMPO', enabled, property_false);
marlonpasquali
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 248
Registrado em: Sex, 06 Fev 2009 3:02 pm
Localização: ERECHIM - RS

Amigo, ainda não consegui fazer.
Qual trigger eu devo utilizar ?

E nos parametros do campo devo marcar como Navegavel=Sim e Ativado=Sim ??
obrigado,
SergioLBJr
Rank: Oracle Guru
Rank: Oracle Guru
Mensagens: 448
Registrado em: Ter, 16 Jun 2009 3:07 pm
Localização: Parobé - RS
Sérgio Luiz Bonemberger Junior
Programador Junior
Parobé RS

[]s

Cara tudo depende do que você decidir.

Pode dexar os iten navegavel ou não como padrão, isso você é que sabe.

Quanto a trigger a ser usada também você decide. Avalie qual o momento em que você quer verificar se o campo vai ser navegavel ou não.

Um exemplo:

se este campo só se tornar navegavel conforme o resultado de outro então na when-validate-item do campo em que você ira informar o valor você faz algo assim:

Selecionar tudo

begin
if (condição) then

set_item_property('nome_bloco.nome_item',enabled, property_true);
set_item_property('nome_bloco.nome_item',navigable, property_true);

else

set_item_property('nome_bloco.nome_item',enabled, property_false);
set_item_property('nome_bloco.nome_item',navigable, property_false);

end if;

end;
marlonpasquali
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 248
Registrado em: Sex, 06 Fev 2009 3:02 pm
Localização: ERECHIM - RS

bom dia Sergio,
coloquei o seguinte no gatilhoa WHEN-NEW-ITEM-INSTANCE:

if Realizado <= Previsto then
set_item_property('PCN_APONTAMENTO_SA.APROVADOR',enabled, property_false);
set_item_property('PCN_APONTAMENTO_SA.APROVADOR',navigable, property_false);
else
set_item_property('PCN_APONTAMENTO_SA.APROVADOR',enabled, property_true);
set_item_property('PCN_APONTAMENTO_SA.APROVADOR',navigable, property_true);
end if; -- realizado > previsto


ai da a mensagem de erro:
FRM-41032: não e possivel definir o atributo ENABLED do item PCN_APONTAMENTO_SA.APROVADOR

o que pode ser?

muito obrigado,
Marlon
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

deve ser porque você está dentro do item,

tenta dar um go_item antes de tudo pra fora do item, ou então faca como o Sergio sugeriu antes, coloque no when-validate-item do item que satisfaz a sua condição de ativação/desativação do item.

Seriam Realido e Previsto, nesses campos coloque o when-validate-item, acredito que vá funcionar..
marlonpasquali
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 248
Registrado em: Sex, 06 Fev 2009 3:02 pm
Localização: ERECHIM - RS

beleza.
Agora funcionou.
Muito obrigado pessoal

Marlon
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 6 visitantes