Páginas filhas
  • LGX - LBROWSEEX

Componente gráfico no formato de tabela (grade) para edição de valores em variáveis de vetor (ARRAY).


Hierarquia



Métodos GET


Métodos acessíveis através da função _ADVPL_get_property que permite recuperar e manipular os valores do componente:


Método GET: COLUMN_BY_INDEX

Nome da coluna conforme índice da mesma.

Sintaxe



_ADVPL_get_property( < l_table_reference >, "COLUMN_BY_INDEX",< nColumnIndex > ) ==> CHAR

Parâmetros



NomeTipoDescriçãoObrigatório
nColumnIndexINTEGERÍndica da coluna da grade da qual deseja-se retornar o nome.Sim

Retorno




TipoDescrição
CHAR

Retorna o nome da coluna conforme o índice da mesma na grade.


Exemplo




LET l_column_name = _ADVPL_get_property(l_table_reference,"COLUMN_BY_INDEX",10)



Método GET: COLUMN_SELECTED

Índice da coluna seleciona na grade.

Sintaxe




_ADVPL_get_property( < l_table_reference >, "COLUMN_SELECTED" ) ==> INTEGER


Retorno




TipoDescrição
INTEGER

Índice da coluna selecionada na grade.


Exemplo




LET l_column = _ADVPL_get_property(l_table_reference,"COLUMN_SELECTED")



Método GET: COLUMN_VALUE


Sintaxe




_ADVPL_get_property( < l_table_reference >, "COLUMN_VALUE",< nColumn >, < nLine > ) ==> QUALQUER

Parâmetros




NomeTipoDescriçãoObrigatório?
nColumnCHARNome da coluna da grade da qual deseja-se retornar o valor.Sim
nLineINTEGERNúmero da linha da grade da qual deseja-se retornar o valor.Sim


Retorno




TipoDescrição
QUALQUER

Valor de determinada linha e coluna da grade.


Exemplo




LET l_value = _ADVPL_get_property(l_table_reference,"COLUMN_VALUE","cod_empresa",5)



Método GET: ITEM_COUNT

Total de linhas da grade.

Sintaxe




_ADVPL_get_property( < cReference >, "ITEM_COUNT" ) ==> INTEGER

Retorno




TipoDescrição
INTEGER

Quantidade total de linhas da grade.

Exemplo




LET l_item_count = _ADVPL_get_property(l_table_reference,"ITEM_COUNT")


(informação) Veja também LGX - LTABLECOLUMNEX



Método GET: POPUP_REFERENCE

Referência do menu popup da grade.

Sintaxe




_ADVPL_get_property( < l_table_reference >, "POPUP_REFERENCE" ) ==> VARCHAR

Retorno




TipoDescrição
VARCHAR(10)

Referência do menu popup da grade.

Exemplo




LET l_popup_reference = _ADVPL_get_property(l_table_reference,"POPUP_REFERENCE")



Método GET: ROW_SELECTED

Linha selecionada na grade.

Sintaxe




_ADVPL_get_property( < l_table_reference >, "ROW_SELECTED" ) ==> INTEGER

Retorno




TipoDescrição
INTEGER

Linha selecionada na grade.

Exemplo




LET l_row_selected  = _ADVPL_get_property(l_table_reference,"ROW_SELECTED")



Método GET: ACTIVATE_EDIT_FORM

Ativa/desativa a tela de edição da grade em modo formulário.

Sintaxe




_ADVPL_get_property( < l_table_reference >, "ACTIVATE_EDIT_FORM", <l_activate> )

Parâmetros




NomeTipoDescriçãoObrigatóri?

l_activate

BOOLEANIndicador lógico que ativa/desativa a tela para edição e visualização da grade no modo formulário.Sim

Exemplo




CALL _ADVPL_set_property(l_table_reference,"ACTIVATE_EDIT_FORM",TRUE)




Métodos SET


Uilizando a função _ADVPL_set_property que permite alterar e manipular os valores de uma propriedade do componente.


Método SET: ADD_ROW

Inclui uma nova linha no final da grade.

Sintaxe




_ADVPL_set_property(< l_table_reference >,"ADD_ROW")

Exemplo




CALL _ADVPL_set_property(l_table_reference,"ADD_ROW")




Método SET: ADJUST_COLUMNS_WIDTH

Ajusta a largura das colunas conforme tamanho total atribuído para a grade e para cada uma das colunas.

Sintaxe




_ADVPL_set_property(< l_table_reference >,"ADJUST_COLUMNS_WIDTH")

(informação)  Este método verifica se a largura total da grade é maior que a soma das larguras das colunas e distribui este excedente proporcionalmente para cada coluna da grade.

Exemplo




CALL _ADVPL_set_property(l_table_reference,"ADJUST_COLUMNS_WIDTH")




Método SET: AFTER_ADD_ROW_EVENT

Função executada após incluir uma nova linha na grade.

Sintaxe




_ADVPL_set_property(< l_table_reference >,"AFTER_ADD_ROW_EVENT",< c4GLFunction >)

Parâmetros




NomeTipoDescriçãoObrigatório?
c4GLFunctionCHARFunção que será executada após incluir uma nova linha na grade.Sim




Método SET: AFTER_EDIT_ROW 

Função executada após a edição da linha (em qualquer coluna) da grade.

Sintaxe




_ADVPL_set_property(< l_table_reference >,"AFTER_EDIT_ROW",< c4GLFunction >)

Parâmetros




NomeTipoDescriçãoObrigatório?
c4GLFunctionCHARFunção a ser executada após a edição da linha (em qualquer coluna) da grade.Sim




Método SET: AFTER_ORDER_EVENT 

Função executada após a ordenação de qualquer coluna da grade.

Sintaxe




_ADVPL_set_property(< l_table_reference >," AFTER_ORDER_EVENT ",< c4GLFunction >)

Parâmetros




NomeTipoDescriçãoObrigatório?
c4GLFunctionCHARFunção que será executada após a ordenação de qualquer coluna da grade.Sim




Método SET: AFTER_REMOVE_ROW_EVENT 

Exibe uma mensagem na barra de status.

Sintaxe




_ADVPL_set_property(< l_table_reference >,"AFTER_REMOVE_ROW_EVENT",< c4GLFunction >)

Parâmetros




NomeTipoDescriçãoObrigatório?
c4GLFunctionCHARFunção 4GL que será executada após excluir qualquer linha da grade.Sim




Método SET: AFTER_ROW_EVENT 

Função executada após sair de qualquer linha da grade.

Sintaxe




_ADVPL_set_property(< l_table_reference >,"AFTER_ROW_EVENT",< c4GLFunction >)

Parâmetros




NomeTipoDescriçãoObrigatório?
c4GLFunctionCHARFunção que será executada após sair de qualquer linha da grade.Sim

(informação)  Importante: esta função deverá retornar um indicador lógico que define se será permitido o usuário sair da linha ou não.




Método SET: BEFORE_ADD_ROW_EVENT

Função executada antes de incluir uma nova linha na grade.

Sintaxe




_ADVPL_set_property(< l_table_reference >,"BEFORE_ADD_ROW_EVENT",< c4GLFunction >)

Parâmetros




NomeTipoDescriçãoObrigatório?
c4GLFunctionCHARFunção que será executada antes de incluir uma nova linha na grade.Sim

(informação) Importante: esta função deverá retornar um indicador lógico que define se permitirá ou não a inclusão da nova linha no final da grade.




Método SET: BEFORE_EDIT_ROW

Função executada antes da edição da linha (em qualquer coluna) da grade.

Sintaxe




_ADVPL_set_property(< l_table_reference >,"BEFORE_EDIT_ROW",< c4GLFunction >)

Parâmetros




NomeTipoDescriçãoObrigatório?
c4GLFunctionCHARFunção a ser executada antes da edição da linha (em qualquer coluna) da grade.Sim

(informação) Importante: esta função deverá retornar um indicador lógico que define se permitirá ou não a edição da linha da grade.




Método SET: BEFORE_ORDER_EVENT

Função executada antes da ordenação de qualquer coluna da grade.

Sintaxe




_ADVPL_set_property(< l_table_reference >,"BEFORE_ORDER_EVENT",< c4GLFunction >)

Parâmetros




NomeTipoDescriçãoObrigatório
c4GLFunctionCHARFunção que será acionada antes da ordenação de qualquer coluna da grade.Sim

(informação) Importante: esta função deverá retornar um indicador lógico que define se a ordenação será ou não realizada.




Método SET: BEFORE_REMOVE_ROW_EVENT

Função executada antes de excluir qualquer linha da grade.

Sintaxe




_ADVPL_set_property(< l_table_reference >,"BEFORE_REMOVE_ROW_EVENT",< c4GLFunction >)

Parâmetros




NomeTipoDescriçãoObrigatório?
c4GLFunctionCHARFunção que será executada antes de excluir qualquer linha da grade.Sim

(informação) Importante: esta função deverá retornar um indicador lógico que define se a exclusão da linha será ou não realizada.




Método SET: BEFORE_ROW_EVENT

Função executada antes de entrar em qualquer linha da grade.

Sintaxe




_ADVPL_set_property(< l_table_reference >,"BEFORE_ROW_EVENT",< c4GLFunction >)

Parâmetros




NomeTipoDescriçãoObrigatório?
c4GLFunctionCHARFunção que será executada antes de entrar em qualquer linha da grade.Sim




Método SET: CAN_ADD_ROW

Habilita/desabilita a inclusão de novas linhas na grade.

Sintaxe




_ADVPL_set_property(< l_table_reference >,"CAN_ADD_ROW",< nCanAddRow >)

Parâmetros




NomeTipoDescriçãoObrigatório?
nCanAddRowBOOLEANIndicador lógico que habilita/desabilita a inclusão de novas linhas na grade.Sim

Exemplo



CALL _ADVPL_set_property(l_table_reference,"CAN_ADD_ROW",FALSE)




Método SET: CAN_COPY_ROW

Habilita/desabilita a cópia de linhas da grade.

Sintaxe




_ADVPL_set_property(< l_table_reference >,"CAN_COPY_ROW",< nCanCopyRow >)

Parâmetros




NomeTipoDescriçãoObrigatório?
nCanCopyRowBOOLEANIndicador lógico que habilita/desabilita a cópia de linhas na grade.Sim

Exemplo


CALL _ADVPL_set_property(l_table_reference,"CAN_COPY_ROW",FALSE)




Método SET: CAN_REMOVE_ROW

Habilita/desabilita a exclusão de linhas da grade.

Sintaxe


_ADVPL_set_property(< l_table_reference >,"CAN_REMOVE_ROW",< nCanRemoveRow >)

Parâmetros


NomeTipoDescriçãoObrigatório?
nCanRemoveRowBOOLEANIndicador lógico que habilita/desabilita a exclusão de linhas na grade.Sim

Exemplo


CALL _ADVPL_set_property(l_table_reference,"CAN_REMOVE_ROW",FALSE)




Método SET: CLEAR

Remove todas as linhas da grade reinicia qualquer ordenação de coluna feita pelo usuário.

Sintaxe


_ADVPL_set_property(< l_table_reference >,"CLEAR")

Exemplo


CALL _ADVPL_set_property(l_table_reference,"CLEAR")




Método SET: CLEAR_ALL_ATTRIBUTES

Define se na exclusão de determinada linha da grade, todos os atributos da variável de controle nesta linha, serão inicializados.

Sintaxe


_ADVPL_set_property(< l_table_reference >,"CLEAR_ALL_ATTRIBUTES",< nStatus >)

Parâmetros


NomeTipoDescriçãoObrigatório?
nStatusBOOLEANIndicador lógico que define se na exclusão de determinada linha da grade, todos os atributos da variável de controle nesta linha, serão inicializados.Sim

(informação) O padrão deste método é TRUE, ele define se ao excluir uma determinada linha da grade, todos os atributos da variável de controle serão excluídos ou somente os que estão visíveis na grade.


Exemplo:
   A variável possui os atributos: campo1, campo2 e campo3, a grade está exibindo apenas os atributos: campo2 e campo3.
   Ao excluir a linha, se este método estiver ativado (TRUE), serão limpos os atributos campo1, campo2 e campo3, caso contrário (FALSE) será limpo apenas os atributos campo2 e campo3 da variável.

Exemplo


CALL _ADVPL_set_property(l_table_reference,"CLEAR_ALL_ATTRIBUTES",FALSE)




Método SET: CLEAR_ALL_LINE_COLOR

Restaura a cor padrão para todas as linhas da grade.

Sintaxe


_ADVPL_set_property(< l_table_reference >,"CLEAR_ALL_LINE_COLOR")

Exemplo


CALL _ADVPL_set_property(l_table_reference,"CLEAR_ALL_LINE_COLOR")




Método SET: CLEAR_ALL_LINE_FONT_COLOR

Restaura a cor padrão da fonte para todas as linhas da grade.

Sintaxe


_ADVPL_set_property(< l_table_reference  >,"CLEAR_ALL_LINE_FONT_COLOR")

Exemplo


CALL _ADVPL_set_property(l_table_reference,"CLEAR_ALL_LINE_FONT_COLOR")




Método SET: CLEAR_LINE_COLOR

Restaura a cor padrão para um determinada linha da grade.

Sintaxe


_ADVPL_set_property(< l_table_reference >,"CLEAR_LINE_COLOR",< nLine >)

Parâmetros


NomeTipoDescriçãoObrigatório?
nLineINTEGERNúmero da linha da qual terá a cor de fundo restaurada.Sim

Exemplo


CALL _ADVPL_set_property(l_table_reference,"CLEAR_LINE_COLOR",5)




Método SET: CLEAR_LINE_FONT_COLOR

Restaura a cor padrão da fonte de uma determinada linha da grade.

Sintaxe


_ADVPL_set_property(< l_table_reference >,"CLEAR_LINE_FONT_COLOR",<  nLine >)

Parâmetros


NomeTipoDescriçãoObrigatório?
nLineINTEGERNúmero da linha que terá a cor da fonte restaurada.Sim

Exemplo


CALL _ADVPL_set_property(l_table_reference,"CLEAR_LINE_FONT_COLOR",5)




Método SET: COLUMN_VALUE

Atribui o valor de uma determinada linha e coluna da grade.

Sintaxe


_ADVPL_set_property(< l_table_reference >,"COLUMN_VALUE",< nColumn >, < nLine >, < uValue >)

Parâmetros


NomeTipoDescriçãoObrigatório?
nColumnINTEGERNome da coluna da grade da qual será atribuído o valor.Sim
nLineINTEGERNúmero da linha da grade da qual será atribuído o valor.Sim
uValueQUALQUERNúmero da coluna da grade da qual será atribuído o valor.Sim

Exemplo


CALL _ADVPL_set_property(l_table_reference,"COLUMN_VALUE","cod_empresa",5,"50")




Método SET: COPY_ROW

Copia uma determinada linha para uma nova criada no final da grade.

Sintaxe


_ADVPL_set_property(< l_table_reference >,"COPY_ROW",< nLine >)

Parâmetros


NomeTipoDescriçãoObrigatório?
nLineINTEGERNúmero da linha da grade que será copiada.Sim

Exemplo


CALL _ADVPL_set_property(l_table_reference,"COPY_ROW",5)




Método SET: ENABLE_EDIT_MODE

Habilita/desabilita a edição e visualização da grade em modo formulário.

Sintaxe


_ADVPL_set_property(< l_table_reference  >,"ENABLE_EDIT_MODE",< nEnable >)

Parâmetros


NomeTipoDescriçãoObrigatório?
nEnableBOOLEANIndicador lógico que define se será habilitada ou não a edição e visualização da grade no modo formulário.Sim

Exemplo


CALL _ADVPL_set_property(l_table_reference,"ENABLE_EDIT_MODE",FALSE)




Método SET: HEADER_CLICK_EVENT

Função executada ao clicar no cabeçalho de qualquer coluna da grade.

Sintaxe


_ADVPL_set_property(< l_table_reference >, "HEADER_CLICK_EVENT", < c4GLFunction >)

Parâmetros


NomeTipoDescriçãoObrigatório
c4GLFunctionCHARFunção a ser executada ao clicar no cabeçalho de qualquer coluna da grade.Sim




Método SET: ITEM_COUNT

Quantidade total de linhas da grade.

Sintaxe


_ADVPL_set_property(< l_table_reference >,"ITEM_COUNT",< nLines >)

Parâmetros


NomeTipoDescriçãoObrigatório?
nLinesINTEGERQuantidade total de linhas que será definida na grade.Sim

Exemplo


CALL _ADVPL_set_property(l_table_reference,"ITEM_COUNT",10)




Método SET: LINE_COLOR

Cor de fundo para uma determinada linha da grade.

Sintaxe


_ADVPL_set_property(< l_table_reference >,"LINE_COLOR",< nLine >, < nRedLevel >, < nGreenLevel >, < nBlueLevel >)

Parâmetros


NomeTipoDescriçãoObrigatório?
nLineINTEGERNúmero da linha da qual será alterada a cor de fundo.Sim
nRedLevelINTEGERNúmero correspondente ao nível de vermelho da cor (R do RGB).Sim
nGreenLevelINTEGERNúmero correspondente ao nível de verde da cor (G do RGB).Sim
nBlueLevelINTEGERNúmero correspondente ao nível de azul da cor (B do RGB).Sim

Exemplo


CALL _ADVPL_set_property(l_table_reference,"LINE_COLOR",5,255,175,175)




Método SET: LINE_FONT_COLOR

Cor da fonte para uma determinada linha da grade.

Sintaxe


_ADVPL_set_property(< l_table_reference >,"LINE_FONT_COLOR",< nLine >, < nRedLevel >, < nGreenLevel >, < nBlueLevel >)

Parâmetros


NomeTipoDescriçãoObrigatório?
nLineINTEGERNúmero da linha da qual será alterada a cor de fundo.Sim
nRedLevelINTEGERNúmero correspondente ao nível de vermelho da cor (R do RGB).Sim
nGreenLevelINTEGERNúmero correspondente ao nível de verde da cor (G do RGB).Sim
nBlueLevelINTEGERNúmero correspondente ao nível de azul da cor (B do RGB).Sim

Exemplo


CALL _ADVPL_set_property(l_table_reference,"LINE_FONT_COLOR",5,255,0,0)




Método SET: REMOVE_EMPTY_ROWS

Remove todas as linhas em branco da grade.

Sintaxe


_ADVPL_set_property(< l_table_reference >,"REMOVE_EMPTY_ROWS")

(informação) Este método verifica linha após linha se alguma coluna foi informada, caso nenhuma coluna tenha informação, a linha verificada é excluída.

Exemplo


CALL _ADVPL_set_property(l_table_reference,"REMOVE_EMPTY_ROWS")




Método SET: REMOVE_ROW

Remove uma determinada linha da grade.

Sintaxe


_ADVPL_set_property(< l_table_reference >,"REMOVE_ROW",< nLine >)

Parâmetros


NomeTipoDescriçãoObrigatóro
nLine INTEGERNúmero da linha que será removida.Sim

Exemplo


CALL _ADVPL_set_property(l_table_reference,"REMOVE_ROW",5)




Método SET: SELECT_COLUMN

Posiciona o foco para uma determinada coluna da grade.

Sintaxe


_ADVPL_set_property(< l_table_reference >,"SELECT_COLUMN",< nColumn >)

Parâmetros


NomeTipoDescriçãoObrigatório?
nColumnINTEGERNúmero da coluna da qual o foco deverá ficar posicionado.Sim

Exemplo


CALL _ADVPL_set_property(l_table_reference,"SELECT_COLUMN",10)




Método SET: SELECT_ITEM

Posiciona o foco para uma determinada linha e coluna da grade.

Sintaxe


_ADVPL_set_property(< l_table_reference >,"SELECT_ITEM",< nLine >,< nColumn >)

Parâmetros


NomeTipoDescriçãoObrigatório?
nLineINTEGERNúmero da linha da qual o foco deverá ficar posicionado.Sim
nColumnINTEGERNúmero da coluna da qual o foco deverá ficar posicionado.Sim

Exemplo


CALL _ADVPL_set_property(l_table_reference,"SELECT_ITEM",5,10)




Método SET: SET_ROWS

Define a variável que irá controlar os valores e a quantidade de linhas inicias que será atribuída para a grade.

Sintaxe


_ADVPL_set_property(< l_table_reference >,"SET_ROWS",< oArrayOfRecord >, [ nLines ] )

Parâmetros


NomeTipoDescriçãoObrigatório?
oArrayOfRecordARRAY OF RECORDVariável ARRAY OF RECORD que irá controlar os valores da grade. Os atributos deste ARRAY deverá ter o mesmo nome das colunas criadas na grade.Sim
nLinesINTEGERQuantidade de linhas iniciais que será atribuída para a grade.Sim

(informação) Importante: este método deverá ser chamado apenas uma vez para cada componente criado. Caso deseja-se alterar a quantidade de linhas da grade, utilizar o método "ITEM_COUNT".

Exemplo


CALL _ADVPL_set_property(l_table_reference,"SET_ROWS",ma_variable,1)




Método SET: VARIABLE

Define a variável que irá controlar os valores da grade.

Sintaxe


_ADVPL_set_property(< l_grid_reference >,"VARIABLE",< oArrayOfRecord >)

Parâmetros


NomeTipoDescriçãoObrigatório?
oArrayOfRecordARRAY OF RECORDVariável ARRAY OF RECORD que irá controlar o valores da grade. Os atributos deste ARRAY OF RECORD deverão ter o mesmo nome dos componentes criados na grade.Sim

(informação) Importante: Este método deverá ser chamado apenas uma vez para cada componente criado.

Exemplo


CALL _ADVPL_set_property(l_table_reference,"VARIABLE",ma_variable)





Exemplo


(informação) Importante: esta grid é para edição por coluna, caso deseja uma grid para consulta, utilize o componente LTableEx.

DEFINE ma_variable ARRAY[100] OF RECORD
                                 componente CHAR(50),
                                 metodo     ARRAY[100] OF CHAR(50)
                                 END RECORD

#--------------------#
 FUNCTION LBrowseEx()
#--------------------#
     DEFINE l_value            CHAR(50)
     DEFINE l_variable         CHAR(50)
     DEFINE l_row              SMALLINT
     DEFINE l_column           SMALLINT
     DEFINE l_table_width      SMALLINT
     DEFINE l_dialog_reference VARCHAR(10)
     DEFINE l_table_reference  VARCHAR(10)
     DEFINE l_column_reference VARCHAR(10)
     # Neste exemplo será construída uma grade onde o número de colunas
     # pode ser indefinido.
     LET l_table_width = 0
     INITIALIZE ma_variable TO NULL

     LET l_dialog_reference = _ADVPL_create_component(NULL,"LDIALOG")
     CALL _ADVPL_set_property(l_dialog_reference,"SIZE",650,250)
     CALL _ADVPL_set_property(l_dialog_reference,"TITLE","Ex.: LBROWSEEX")

     LET l_table_reference = _ADVPL_create_component(NULL,"LBROWSEEX",l_dialog_reference)
     CALL _ADVPL_set_property(l_table_reference,"ENABLE",TRUE)
     CALL _ADVPL_set_property(l_table_reference,"EDITABLE",TRUE)
     CALL _ADVPL_set_property(l_table_reference,"ALIGN","CENTER")

     LET l_column_reference = _ADVPL_create_component(NULL,"LTABLECOLUMNEX",l_table_reference)
     CALL _ADVPL_set_property(l_column_reference,"ALIGN","LEFT")
     CALL _ADVPL_set_property(l_column_reference,"EDITABLE",FALSE)
     CALL _ADVPL_set_property(l_column_reference,"COLUMN_WIDTH",100)
     CALL _ADVPL_set_property(l_column_reference,"HEADER","Componente")
     CALL _ADVPL_set_property(l_column_reference,"VARIABLE","componente")

     LET l_table_width = l_table_width + 100
     # Cria as linhas e colunas
     FOR l_row = 1 TO 10
         LET l_value = "componente ",l_row USING "<<&&&"
         LET ma_variable[l_row].componente = l_value
         FOR l_column = 1 TO 4
             LET l_value = "metodo ",l_row USING "<<&&&",":",l_column USING "<<&&&"
             LET ma_variable[l_row].metodo[l_column] = l_value
             IF  l_row = 1 THEN
                 # Na varíavel, a primeira posição é o valor e a segunda é o
                 # cabeçalho.
                 LET l_value    = "Método ",l_column USING "<<&&&"
                 LET l_variable = "metodo[",l_column USING "<<<<<","]"
                 LET l_column_reference = _ADVPL_create_component(NULL,"LTABLECOLUMNEX",l_table_reference)
                 CALL _ADVPL_set_property(l_column_reference,"ALIGN","LEFT")
                 CALL _ADVPL_set_property(l_column_reference,"EDITABLE",TRUE)
                 CALL _ADVPL_set_property(l_column_reference,"COLUMN_WIDTH",50)
                 CALL _ADVPL_set_property(l_column_reference,"HEADER",l_value)
                 CALL _ADVPL_set_property(l_column_reference,"VARIABLE",l_variable)
                 CALL _ADVPL_set_property(l_column_reference,"EDIT_COMPONENT","LTEXTFIELD")
                 CALL _ADVPL_set_property(l_column_reference,"EDIT_PROPERTY","LENGTH",20)
                 CALL _ADVPL_set_property(l_column_reference,"EDIT_PROPERTY","PICTURE","@&")
                 # Efetua a soma das colunas somente na primeira linha.
                 LET l_table_width = l_table_width + 50
             END IF
         END FOR
     END FOR

     # Atualiza a grade com os tamanhos de colunas corretos, linhas e variável.
     CALL _ADVPL_set_property(l_table_reference,"SIZE",l_table_width,250)
     CALL _ADVPL_set_property(l_table_reference,"ADJUST_COLUMNS_WIDTH")
     CALL _ADVPL_set_property(l_table_reference,"SET_ROWS",ma_variable,(l_row - 1))
     CALL _ADVPL_set_property(l_table_reference,"REFRESH")
     CALL _ADVPL_set_property(l_dialog_reference,"MAXIMIZED",FALSE)
     CALL _ADVPL_set_property(l_dialog_reference,"ACTIVATE",TRUE) 
END FUNCTION 


Visualização