Adicionar Registros Dinamicamente a List Item – Oracle Forms

List-Item

No Oracle Forms há a necessidade muitas vezes de alimentarmos um campo “List Item” de forma dinâmica. Para isso segue um exemplo de código para se adicionar a trigger “WHEN-NEW-FORM-INSTANCE”.

DECLARE

   rg_id recordgroup;
   rg_did Varchar(20) := 'SIGLA';
   pop Number;
   dlist_ID    Item := Find_Item('BLOCO.CAMPO_LIST-ITEM');

BEGIN

   rg_id := find_group(rg_did);

   If Not id_null(rg_id) Then   
      delete_group(rg_did);   
   End If;

   rg_id := create_group_from_query(rg_did,'SELECT t.sigla||''-''||t.descricao Descricao, t.sigla FROM tabela t');

	 --Clear List	
	 Clear_List(dlist_ID);

   --populate The Record Group   
   pop := populate_group(rg_id);

   --populate The list item   
   populate_list('BLOCO.CAMPO_LIST-ITEM', rg_id);

END;

Com esse código básico é possível alimentar o campo, baseado em dados de uma tabela. Não esquecer de incluir um Item no objeto, sem valor.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *