desabilitar itens em um bloco tabular

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
aline_plr
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 92
Registrado em: Qui, 27 Ago 2009 9:13 am
Localização: Rio Preto

Estou precisando desabilitar um item de um registro de um bloco tabular. Já tentei:

Selecionar tudo

if :CAD_ESTRUTURA_DRE.FLG_CALCULO = 'S' then
SET_ITEM_INSTANCE_PROPERTY('CAD_ESTRUTURA_DRE.ID_CAD_ESTRUT_DRE',CURRENT_RECORD, UPDATE_ALLOWED, PROPERTY_FALSE); 
SET_ITEM_INSTANCE_PROPERTY('CAD_ESTRUTURA_DRE.ID_CAD_ESTRUT_DRE',CURRENT_RECORD, NAVIGABLE, PROPERTY_FALSE);
end if;
e:

Selecionar tudo

if :CAD_ESTRUTURA_DRE.FLG_CALCULO = 'S' then
Set_Item_Instance_Property('CAD_ESTRUTURA_DRE.ID_CAD_ESTRUT_DRE',CURRENT_RECORD,enabled,property_false);
end if;
mas nada deu certo. Alguém poderia me ajudar por favor.
Jota
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 77
Registrado em: Qua, 17 Jun 2009 3:18 pm
Localização: Blumenau - SC
Jonatas Jaqmam Pereira
Analista Desenvolvedor de Sistemas

Sempre faço da seguinte forma.
Coloco o camando abaixo na trigger when-new-record-instance do bloco:

Selecionar tudo

if :CAD_ESTRUTURA_DRE.FLG_CALCULO = 'S' then
SET_ITEM_PROPERTY('CAD_ESTRUTURA_DRE.ID_CAD_ESTRUT_DRE', UPDATE_ALLOWED, PROPERTY_FALSE);
SET_ITEM_PROPERTY('CAD_ESTRUTURA_DRE.ID_CAD_ESTRUT_DRE', NAVIGABLE, PROPERTY_FALSE);
end if
ou apenas

Selecionar tudo

if :CAD_ESTRUTURA_DRE.FLG_CALCULO = 'S' then
SET_ITEM_PROPERTY('CAD_ESTRUTURA_DRE.ID_CAD_ESTRUT_DRE', ENABLED, PROPERTY_FALSE);
end if
aline_plr
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 92
Registrado em: Qui, 27 Ago 2009 9:13 am
Localização: Rio Preto

Não funcionou, o primeiro código não ocorre nenhuma mudança e o segundo código desabilita o item de todos os registros. Eu gostaria que desabilitasse apenas o item do registro onde

Selecionar tudo

:CAD_ESTRUTURA_DRE.FLG_CALCULO = 'S' 
Aguardo um retorno
Avatar do usuário
NightSpy
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 49
Registrado em: Ter, 09 Set 2008 4:18 pm
Localização: SP

é só uma solução simples que faço nos meus casos.. onde geralmente são botões que quero habilitar ou desabilitar dependendo da linha escolhida no tabular.

O problema é que você acaba desabilitando a coluna ou todos os botões ao mesmo tempo(no meu caso) e vice e versa. Resolvo isso de maneira simples. Colocando apenas um botão pra mostrar.. cada linha selecionada altera o status enabled do botão.

Se você puder mostrar um campo apenas( o qual você quer desabilitar) onde o conteudo dele muda conforme a linha selecionada da tabela.. imagino que com um pre-record no bloco da tabela resolva.
dnof
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Ter, 11 Jul 2006 1:58 pm
Localização: São Paulo -SP
A melhor maneira de se aprender... é ensinando!

aline_plr, você conseguiu resolver seu problema? se sim, post ai como o fez please!
dnof
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Ter, 11 Jul 2006 1:58 pm
Localização: São Paulo -SP
A melhor maneira de se aprender... é ensinando!

alguém SABE COMO SETAR ENABLED APENAS PRA UMA DETERMINADA LINHA? E NÃO PARA O BLOCO INTEIRO?
rogenaro
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 232
Registrado em: Sex, 30 Mar 2007 7:26 pm
Localização: Londrina - PR
Rafael O. Genaro

Não é possível.
Responder
  • Informação