- Criado por Ieda Ferreira Alves Flock, última alteração por Cleane Hermann em 19 out, 2023
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
Nome | Tipo | Descrição | Obrigatório |
---|---|---|---|
nColumnIndex | INTEGER | Índica da coluna da grade da qual deseja-se retornar o nome. | Sim |
Retorno
Tipo | Descriçã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
Tipo | Descriçã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
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
nColumn | CHAR | Nome da coluna da grade da qual deseja-se retornar o valor. | Sim |
nLine | INTEGER | Número da linha da grade da qual deseja-se retornar o valor. | Sim |
Retorno
Tipo | Descriçã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
Tipo | Descrição |
---|---|
INTEGER | Quantidade total de linhas da grade. |
Exemplo
LET l_item_count = _ADVPL_get_property(l_table_reference,"ITEM_COUNT")
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
Tipo | Descriçã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
Tipo | Descriçã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
Nome | Tipo | Descrição | Obrigatóri? |
---|---|---|---|
l_activate | BOOLEAN | Indicador 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")
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
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
c4GLFunction | CHAR | Funçã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
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
c4GLFunction | CHAR | Funçã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
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
c4GLFunction | CHAR | Funçã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
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
c4GLFunction | CHAR | Funçã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
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
c4GLFunction | CHAR | Função que será executada após sair de qualquer linha da grade. | Sim |
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
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
c4GLFunction | CHAR | Função que será executada antes de incluir uma nova linha na grade. | Sim |
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
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
c4GLFunction | CHAR | Função a ser executada antes da edição da linha (em qualquer coluna) da grade. | Sim |
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
Nome | Tipo | Descrição | Obrigatório |
---|---|---|---|
c4GLFunction | CHAR | Função que será acionada antes da ordenação de qualquer coluna da grade. | Sim |
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
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
c4GLFunction | CHAR | Função que será executada antes de excluir qualquer linha da grade. | Sim |
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
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
c4GLFunction | CHAR | Funçã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
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
nCanAddRow | BOOLEAN | Indicador 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
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
nCanCopyRow | BOOLEAN | Indicador 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
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
nCanRemoveRow | BOOLEAN | Indicador 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
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
nStatus | BOOLEAN | Indicador 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 |
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
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
nLine | INTEGER | Nú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
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
nLine | INTEGER | Nú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
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
nColumn | INTEGER | Nome da coluna da grade da qual será atribuído o valor. | Sim |
nLine | INTEGER | Número da linha da grade da qual será atribuído o valor. | Sim |
uValue | QUALQUER | Nú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
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
nLine | INTEGER | Nú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
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
nEnable | BOOLEAN | Indicador 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
Nome | Tipo | Descrição | Obrigatório |
---|---|---|---|
c4GLFunction | CHAR | Funçã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
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
nLines | INTEGER | Quantidade 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
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
nLine | INTEGER | Número da linha da qual será alterada a cor de fundo. | Sim |
nRedLevel | INTEGER | Número correspondente ao nível de vermelho da cor (R do RGB). | Sim |
nGreenLevel | INTEGER | Número correspondente ao nível de verde da cor (G do RGB). | Sim |
nBlueLevel | INTEGER | Nú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
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
nLine | INTEGER | Número da linha da qual será alterada a cor de fundo. | Sim |
nRedLevel | INTEGER | Número correspondente ao nível de vermelho da cor (R do RGB). | Sim |
nGreenLevel | INTEGER | Número correspondente ao nível de verde da cor (G do RGB). | Sim |
nBlueLevel | INTEGER | Nú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")
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
Nome | Tipo | Descrição | Obrigatóro |
---|---|---|---|
nLine | INTEGER | Nú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
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
nColumn | INTEGER | Nú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
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
nLine | INTEGER | Número da linha da qual o foco deverá ficar posicionado. | Sim |
nColumn | INTEGER | Nú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
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
oArrayOfRecord | ARRAY OF RECORD | Variá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 |
nLines | INTEGER | Quantidade de linhas iniciais que será atribuída para a grade. | Sim |
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
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
oArrayOfRecord | ARRAY OF RECORD | Variá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 |
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
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