- Criado por Usuário desconhecido (ieda.alves), ú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
Visualização
