- Criado por Ieda Ferreira Alves Flock, última alteração em 06 mar, 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: EDIT_COMPONENT
Componente freeform de edição da coluna.
Sintaxe
_ADVPL_get_property(l_column_reference,"EDIT_COMPONENT") ==> Componente
Retorno
Tipo | Descrição |
---|---|
CHAR | Componente freeform utilizado na edição da coluna. |
Exemplo
LET l_edit_component = _ADVPL_get_property(l_column_reference,"EDIT_COMPONENT")
Método GET: HEADER
Cabeçalho da coluna.
Sintaxe
_ADVPL_get_property(l_column_reference,"HEADER") ==> Cabeçalho
Retorno
Tipo | Descrição |
---|---|
CHAR | Texto de cabeçalho da coluna. |
Exemplo
LET l_header = _ADVPL_get_property(l_column_reference,"HEADER")
Método GET: IMAGE_HEADER
Imagem de cabeçalho da coluna.
Sintaxe
_ADVPL_get_property(l_column_reference,"IMAGE_HEADER") ==> Imagem
Retorno
Tipo | Descrição |
---|---|
CHAR | Nome da imagem do RPO utilizada no cabeçalho da coluna. |
Exemplo
LET l_image_header = _ADVPL_get_property(l_column_reference,"IMAGE_HEADER")
Método GET: INDEX_COLUMN
Índice da coluna na grade.
Sintaxe
_ADVPL_get_property(l_column_reference,"INDEX_COLUMN") ==> Índice
Retorno
Tipo | Descrição |
---|---|
( ) | Índice da coluna na grade. |
Exemplo
LET l_index_column = _ADVPL_get_property(l_column_reference,"INDEX_COLUMN")
Método GET: NO_VARIABLE
Retorna se coluna não possui variável.
Sintaxe
_ADVPL_get_property(l_column_reference,"NO_VARIABLE") ==> Possui variável?
Retorno
Tipo | Descrição |
---|---|
BOOLEAN | Retorna um indicador lógico informando se a coluna possui ou não variável definida. |
Exemplo
LET l_no_variable = _ADVPL_get_property(l_column_component,"NO_VARIABLE")
Método GET: ROW_SELECTED
Linha selecionada na grade.
Sintaxe
_ADVPL_get_property(l_column_reference,"ROW_SELECTED") ==> Linha
Retorno
Tipo | Descrição |
---|---|
( ) | Linha selecionada na grade. |
Exemplo
LET l_row_selected = _ADVPL_get_property(l_table_reference,"ROW_SELECTED")
Método GET: VALUE
Valor da coluna.
Sintaxe
_ADVPL_get_property(l_column_reference,< Linha > ) ==>
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
Linha | INTEGER | Número da linha da qual deseja-se retornar o valor da coluna. | Sim |
Exemplo
LET l_value = _ADVPL_get_property(l_column_reference,"VALUE")
Métodos SET
utilizando a função _ADVPL_set_property
que permite alterar e manipular os valores do componente.
Método SET: AFTER_EDIT_EVENT
Função executada após finalizar a edição da coluna.
Sintaxe
_ADVPL_set_property(< l_table_reference >,"AFTER_EDIT_EVENT",< Função >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
Função | CHAR | Função que será executada após finalizar a edição da coluna. | Sim |
Método SET: BEFORE_EDIT_EVENT
Função executada antes de iniciar a edição da coluna.
Sintaxe
_ADVPL_set_property(< l_table_reference >,"BEFORE_EDIT_EVENT",< Função >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
Função | CHAR | Função a ser executada antes de iniciar a edição da coluna. | Sim |
Importante: esta função deverá retornar um identificador lógico que define se será permitida ou não a edição da coluna.
Método SET: BLANK
Define se a coluna, caso não for informado, fique com o valor em branco ao invés de nulo.
Sintaxe
_ADVPL_set_property(< l_table_reference >,"BLANK",< Permite valor em branco? >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
Permite valor em branco? | BOOLEAN | Identificador lógico que define que, caso a coluna não seja informado, a coluna receberá o valor em branco ao invés de nulo. | Sim |
Exemplo
CALL _ADVPL_set_property(l_column_reference,"BLANK",TRUE)
Método SET: CLEAR_EDIT_PROPERTY
Limpa todas as propriedades definidas para o componente de edição.
Sintaxe
_ADVPL_set_property(< l_table_reference >,"CLEAR_EDIT_PROPERTY")
Exemplo
CALL _ADVPL_set_property(l_column_reference,"CLEAR_EDIT_PROPERTY")
Método SET: COLUMN_WIDTH
Largura da coluna em pixels.
Sintaxe
_ADVPL_set_property(< l_table_reference >,"COLUMN_WIDTH",< Largura >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
Largura | INTEGER | Largura da coluna em pixels. | Sim |
Exemplo
CALL _ADVPL_set_property(l_column_reference,"COLUMN_WIDTH",50)
Método SET: EDIT_COMPONENT
Componente freeform de edição da coluna.
Sintaxe
_ADVPL_set_property(< l_table_reference >,"EDIT_COMPONENT",< Componente >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
Componente | CHAR | Componente freeform que será utilizado para editar o valor da coluna. | Sim |
Se este método não for executado, não será possível efetuar a edição do componente.
Exemplo
CALL _ADVPL_set_property(l_column_reference,"EDIT_COMPONENT","LTEXTFIELD")
Método SET: PICTURE
Propriedade do componente de edição.
Sintaxe
_ADVPL_set_property(< l_table_reference >,"PICTURE",< Propriedade/Método >, < Valores>)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
Propriedade/Método | CHAR | Nome da propriedade que será definida para o componente de edição. | Sim |
Valores | QUALQUER | Valores da propriedade que será definida para o componente de edição. | Sim |
As propriedades do componente de edição podem ser encontradas na documentação do componente freeform definida no método EDIT_COMPONENT.
Exemplo
CALL _ADVPL_set_property(l_column_reference,"EDIT_PROPERTY","PICTURE","@!")
Método SET: HEADER
Cabeçalho da coluna.
Sintaxe
_ADVPL_set_property(< l_table_reference >,"HEADER",< Cabeçalho >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
Cabeçalho | CHAR | Texto de cabeçalho da coluna. | Sim |
Exemplo
CALL _ADVPL_set_property(l_column_reference,"HEADER","Component")
Método SET: HEADER_CLICK_EVENT
Função executada ao clicar no cabeçalho da coluna.
Sintaxe
_ADVPL_set_property(< l_table_reference >,"HEADER_CLICK_EVENT",< Função >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
Função | CHAR | Função a ser executada ao clicar no cabeçalho da coluna. | Sim |
Método SET: IMAGE
Define uma ou várias imagens a serem exibidas na coluna.
Sintaxe
_ADVPL_set_property(< l_table_reference >,"IMAGE",< Imagem >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
Imagem | CHAR | Nome da imagem ou um texto com as condições para que a imagem seja exibida na coluna. | Sim |
Para este método, pode-se informar o nome das imagens de duas formas:
- Fixo: informa o nome de apenas uma imagem que será exibida para todas as linhas da coluna (apenas para colunas que não possuem valor);
- Ex.: CHECKED
- Variável:informa no formato de parâmetro, o valor e o nome da imagem que a coluna deverá exibir caso a mesma estiver com o valor definido;
- Ex.: {'S','CHECKED'}{'N','UNCHECKED'}
Exemplo
CALL _ADVPL_set_property(l_column_reference,"IMAGE","{'S','CHECKED'}{'N','UNCHECKED'}")
Método SET: IMAGE_COLUMN
Assume o valor da coluna como o nome da imagem a ser exibida.
Sintaxe
_ADVPL_set_property(< l_table_reference >,"IMAGE_COLUMN",< Assume valor como nome da imagem? >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
Assume valor como nome da imagem? | BOOLEAN | Indicador lógico que define se o valor da coluna será ou não considerado como o nome da imagem que deverá ser exibida. | Sim |
Este método é útil quando deseja-se exibir várias imagens na grade, diferente para cada linha, basta ativar este método e atribuir no valor da coluna o nome da imagem do RPO que deseja exibir.
Exemplo
CALL _ADVPL_set_property(l_column_reference,"IMAGE_COLUMN",TRUE)
Método SET: IMAGE_HEADER
Imagem de cabeçalho da coluna.
Sintaxe
_ADVPL_set_property(< l_table_reference >,"IMAGE_HEADER",< Imagem >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
Imagem | CHAR | Nome da imagem no RPO que será utilizada no cabeçalho da coluna. | Sim |
Exemplo
CALL _ADVPL_set_property(l_column_reference,"IMAGE_HEADER","CHECKED")
Método SET: NO_VARIABLE
Assume que a coluna não possui variável, é apenas para exibição de imagem ou texto fixo, sem valor.
Sintaxe
_ADVPL_set_property(< l_table_reference >,"NO_VARIABLE")
Este método é muito utilizado quando deseja-se que a coluna exiba uma imagem ou texto fixo, sem variável por linha. Quando este método está ligado, não é necessário incluir na variável ARRAY OF RECORD definida para a grade, um atributo para a coluna em questão.
Exemplo
CALL _ADVPL_set_property(l_column_reference,"NO_VARIABLE")
Método SET: ORDER
Habilita/desabilita a ordenação dos valores da coluna.
Sintaxe
_ADVPL_set_property(< l_table_reference >,"ORDER",< Permite ordenar os valores da coluna? >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
Permite ordenar os valores da coluna? | BOOLEAN | Indicador lógico que define se será ou não permitido a ordenação dos valores da coluna. | Sim |
Exemplo
CALL _ADVPL_set_property(l_column_reference,"ORDER",TRUE)
Método SET: ORDER_BY_COLUMN
Ordena os valores da coluna.
Sintaxe
_ADVPL_set_property(< l_table_reference >,"ORDER_BY_COLUMN",< Ordenação >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
Ordenação | CHAR | Tipo de ordenação que será realizada na coluna, sendo:
| Sim |
Exemplo
CALL _ADVPL_set_property(l_column_reference,"ORDER_BY_COLUMN","ASC")
Método SET: TEXT
Define um ou vários textos a serem exibidos na coluna.
Sintaxe
_ADVPL_set_property(< l_table_reference >,"TEXT",< Texto >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
Texto | CHAR | Texto fixo ou de condições para exibição do mesmo na coluna. | Sim |
Para este método, pode-se informar o texto de duas formas:
- Fixo: informa o texto que será exibido para todas as linhas da coluna (apenas para colunas que não possuem valor);
- Ex.: Item
- Variável: informa no formato de parâmetro, o valor e o texto que a coluna deverá exibir caso a mesma estiver com o valor definido;
- Ex.: {'I','Item'}{'C','Componente'}
Exemplo
CALL _ADVPL_set_property(l_column_reference,"TEXT","{'I','Item'}{'C','Componente'}")
Método SET: VALUE
Valor da coluna.
Sintaxe
_ADVPL_set_property(< l_table_reference >,"VALUE",< Linha>, < Valor>)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
Linha | INTEGER | Número da linha da qual será atribuído o valor para a coluna. | Sim |
Valor | QUALQUER | Valor a ser atribuído para a coluna. | Sim |
Exemplo
CALL _ADVPL_set_property(l_column_reference,"VALUE",5,"50")
Método SET: VARIABLE
Variável (atributo) do ARRAY OF RECORD definido para a grade, que irá controlar o valor da coluna.
Sintaxe
_ADVPL_set_property(< l_table_reference >,"VARIABLE",< Variável (nome da coluna)>)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? |
---|---|---|---|
Variável (nome da coluna) | CHAR | Variável (atributo) do ARRAY OF RECORD definido para a grade, que irá controlar o valor da coluna. | Sim |
Exemplo
CALL _ADVPL_set_property(l_column_reference,"VARIABLE","cod_empresa")
Exemplo
Importante: Este componente só poderá ser criado tendo um componente LTableEx ou LBrowseEx como componente pai.
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