Criando um LIST ITEM dinãmico

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
Desenvolvedor
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 23
Registrado em: Qua, 26 Dez 2007 12:40 pm
Localização: SP

Pessoal,


Estou criando um list item dentro do forms mas gostaria de buscar os dados dinâmico direto de uma tabela, existe esse recurso?


Como posso fazer isso?



Obrigado,
rafasch
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 23
Registrado em: Qui, 18 Out 2007 8:05 pm
Localização: Blumenau

Veja as built-ins populate_group *
Avatar do usuário
Porva
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 342
Registrado em: Seg, 29 Jan 2007 7:36 am
Localização: São Paulo/SP
Rafael S. Nunes
São Paulo/SP

lcvillani
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 1
Registrado em: Qui, 10 Abr 2008 4:04 pm
Localização: são paulo

Crie no When-new-form-instance um cursor com as duas colunas a serem carregadas no list-item

Selecionar tudo

Declare
   CURSOR SERVICO IS
    SELECT SER_CUS.SERVICO_CUSTO_ID,
           SERVICO
    FROM SERVICO SER, SERVICO_CUSTO SER_CUS
    WHERE
         SER.SERVICO_ID = SER_CUS.SERVICO_ID
    ORDER BY
         SERVICO;
         
   -- crie um variavel a ser carregada com o numero da sequencia
   vSEQ NUMBER;  
Begin
   -- Carrregar a lista das com os valores desejados
  -- limpar o list-item criado   
  clear_list('BUSCA_MEDICAO.EMPRESA');
  vSEQ := 0;
   BEGIN 
  -- utilizar um cursor para carregar os valores 
	   For reg_r in EMPRESA  loop
                       vSEQ := vSEQ + 1;
	       Add_List_Element('BUSCA_MEDICAO.EMPRESA', vSEQ,
	                                                  reg_r.EMPRESA, 
	                                                  reg_r.EMPRESA_ID);
	   end loop; 
   END; 
é so compilar e rodar...
schnu
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 110
Registrado em: Ter, 24 Mai 2005 9:16 pm
Localização: Dongguan - Guangdong - China

Forms 6i

eu fiz esse código abaixo para popular um list item. Funciona tudo certo.
Porem esse campo é obrigatório... ou seja não quero que fique uma opção NULA


Porém se eu deixo o Required = YES sou obrigado a informar o initial Values e isso que eu não sei como posso fazer. Pois não tenho nenhum initial values pois não queria deixar setado nenhum valor no FORMS, queria que isso fosse dinamico ....


Não sei se consegui me explicar bem
segue aqui o codigo que utilizo na when-new-forms-instance

Selecionar tudo

procedure carrega_tipo_moeda is
 --
 cursor c1 is
 select cod_tipo_moeda
 from tipo_moeda;
 --
 r1 c1%rowtype;
 --
 vseq number := 1;
begin
  --
  open c1;
  fetch c1 into r1;
  --
  clear_list('valor_caixa.tipo_moeda');
  while c1%found loop
  	--
   	add_list_element('valor_caixa.tipo_moeda',vseq, r1.cod_tipo_moeda, r1.cod_tipo_moeda );
  	--
  	vseq := vseq + 1;
  	fetch c1 into r1;
  	--
  end loop;
  --
  close c1;
  --
end;
schnu
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 110
Registrado em: Ter, 24 Mai 2005 9:16 pm
Localização: Dongguan - Guangdong - China

Consegui a solução.

Segue abaixo caso alguém precise !!!!

Selecionar tudo

procedure carrega_tipo_moeda is
 --
 cursor c1 is
 select cod_tipo_moeda
 from tipo_moeda;
 --
 r1 c1%rowtype;
 --
 vseq number := 1;
 vcod_tipo_moeda varchar2(10);
 --
begin
  --
  open c1;
  fetch c1 into r1;
  --
  clear_list('valor_caixa.tipo_moeda');
  while c1%found loop
  	--
   	add_list_element('valor_caixa.tipo_moeda',vseq, r1.cod_tipo_moeda, r1.cod_tipo_moeda );
  	--
  	if vseq = 1 then
  		--
  		vcod_tipo_moeda := r1.cod_tipo_moeda;
  		--
  	end if;
  	--
  	vseq := vseq + 1;
  	fetch c1 into r1;
  	--
  end loop;
  --
  close c1;
  --
  :valor_caixa.tipo_moeda := vcod_tipo_moeda;
  set_item_property('valor_caixa.tipo_moeda', required, property_true);
  --
end;
RodrigoValentim
Moderador
Moderador
Mensagens: 367
Registrado em: Ter, 25 Mar 2008 3:41 pm
Localização: Salvador - BA
Rodrigo Valentim
Analista de Sistemas
Oracle Developer

Campanha: Faça uma pesquisa antes de perguntar!!!

Caso alguém ainda tenha dúvida nesse assunto, é só pesquisar no forum que existem vários exemplos.
Ribeiroluke
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 6
Registrado em: Qui, 05 Jul 2012 11:25 am

Boa noite amigos, sabe como faço para pegar o resultado de um dos list item e mostrar um vários valores em outro list item? tipo na compra de carros, selecionado a marca, ai no outro list aparece os modelos e tal? obrigado.
viniciusbedra
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 10
Registrado em: Seg, 08 Ago 2011 11:54 am
Localização: RS

É tranquilo, cria a list item com as marcas.
Aí faz um bloco baseado numa query
passando a marca do list item como parâmetro na where clause.
Ai coloca na trigger when-list-changed
um go_block e um execute_query
até deve ter uma forma mais fácil de fazer
mas essa funciona legal
Ribeiroluke
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 6
Registrado em: Qui, 05 Jul 2012 11:25 am

viniciusbedra escreveu:É tranquilo, cria a list item com as marcas.
Aí faz um bloco baseado numa query
passando a marca do list item como parâmetro na where clause.
Ai coloca na trigger when-list-changed
um go_block e um execute_query
até deve ter uma forma mais fácil de fazer
mas essa funciona legal
opa amigo, muito obrigado pela ajuda... sobre o list item, consegui fazer usando LOV com validação no banco conforme alguns exemplos daqui do forum, hehehe, começei há pouco tempo e já estou sabendo fazer muita coisa, lol.. muito obrigado amigo..
Responder
  • Informação
  • Quem está online

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