Páginas filhas
  • LGX - Obter referência de componente

Toda ação de mudança de comportamento e visual de componente a partir de formulário Metadado ou FreeForm é realizado com base na referência do componente que é gerada no momento em que é instanciado durante a execução.

Para isso existem formas diferentes para obter a referência de diversos componentes de formulários Metadado ou FreeForm. 


Recuperar a referência do grupo de componente do tipo FOLDER (Classe LFOLDER).

Esse componente é registrado no formulário CRUD metadados (FRM1002), na aba "Agrupamento" com o tipo "Folder".


EXEMPLO
{ Obter a referência do componente tipo FOLDER no formulário }
LET l_folder_reference = LOG_get_folderpanel_reference(<form_reference>,<table_alias>,<table_name>,<column_name>)


(seleção) A referência retornada nesta função será a referência de um componente do tipo LFolderPanel (Guia do Folder).

(aviso) Informe o valor NULL para o parâmetro TABLE_ALIAS, quando não houver definição de Alias para a tabela e coluna do formulário.


Recuperar a referência de uma GRID (tabela) do formulário com base no nome da Tabela e/ou Alias da tabela.


EXEMPLO
### EXEMPLO 01 ###
{ Obter a referência do componente de tabela / grid }
LET l_table_reference = _ADVPL_get_property(<form_reference>,"TABLE_REFERENCE",<table_name>,<table_alias>)

### EXEMPLO 02 ###
{ Obter a referência do componente de tabela / grid, onde não existe definição de alias para a tabela no formulário}
LET l_table_reference = _ADVPL_get_property(<form_reference>,"TABLE_REFERENCE",<table_name>)


Quando não houver definição de TABLE_ALIAS, basta ocultar o parâmetro conforme EXEMPLO 02.


Recuperar a referência de um grupo de componentes, conforme definido na aba "Agrupamento" do cadastro de formulário CRUD (FRM1002).


EXEMPLO
### EXEMPLO 01 ###
{ Obter a referência do grupo de componente do formulário }
LET l_table_reference = _ADVPL_get_property(<form_reference>,"GROUP_REFERENCE",<table_name>,<column_name>,<table_alias>)

### EXEMPLO 02 ###
{ Obter a referência do grupo de componente do formulário, onde não existe definição de alias para a tabela / coluna }
LET l_table_reference = _ADVPL_get_property(<form_reference>,"GROUP_REFERENCE",<table_name>,<column_name>)


Quando não houver definição de TABLE_ALIAS, basta ocultar o parâmetro conforme EXEMPLO 02.


Recuperar a referência de uma coluna de um zoom que estiver em execução.


EXEMPLO
{ No evento AFTER LOAD do Zoom, obter a referência do zoom com uso da função GetZoomActiveReference() }
LET l_zoom_reference   = _ADVPL_GetZoomActiveReference() 
{ Obter a referência de uma determinada coluna do zoom }
LET l_column_reference = _ADVPL_get_property(l_zoom_reference,'COMPONENT_REFERENCE',<table_name>,<column_name>)

Recuperar a referência de uma zoom de um campo de um formulário.


EXEMPLO
{ Obter a referência de um zoom de um campo de um formulário }
LET l_zoom_reference = _ADVPL_get_property(m_form_reference,'ZOOM_REFERENCE',<table_name>,<column_name>,'')


Esta referência já está disponível a partir da carga/abertura do formulário.

Com ela pode-se obter dados selecionados (AFTER ZOOM) ou até ajustar características do zoom (AFTER LOAD do formulário).