Componente que permite criar as colunas em grades do tipo LTableEx e LBrowseEx.


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: EDIT_COMPONENT

Componente freeform de edição da coluna.

Sintaxe



_ADVPL_get_property(l_column_reference,"EDIT_COMPONENT") ==> Componente

Retorno



TipoDescriçã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



TipoDescriçã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



TipoDescriçã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



TipoDescriçã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



TipoDescriçã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



TipoDescriçã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



NomeTipoDescriçãoObrigatório?
 Linha INTEGERNú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



NomeTipoDescriçãoObrigatório?
FunçãoCHARFunçã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



NomeTipoDescriçãoObrigatório?
 Função CHARFunção a ser executada antes de iniciar a edição da coluna.Sim

(informação) 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: AF


Sintaxe



_ADVPL_set_property(< l_table_reference >,"AFTER_ADD_ROW_EVENT",< Função >)

Parâmetros



NomeTipoDescriçãoObrigatório?

CHAR
Sim


Exemplo





Método SET: AF


Sintaxe



_ADVPL_set_property(< l_table_reference >,"AFTER_ADD_ROW_EVENT",< Função >)

Parâmetros



NomeTipoDescriçãoObrigatório?

CHAR
Sim


Exemplo





Método SET: AF


Sintaxe



_ADVPL_set_property(< l_table_reference >,"AFTER_ADD_ROW_EVENT",< Função >)

Parâmetros



NomeTipoDescriçãoObrigatório?

CHAR
Sim


Exemplo





Método SET: AF


Sintaxe



_ADVPL_set_property(< l_table_reference >,"AFTER_ADD_ROW_EVENT",< Função >)

Parâmetros



NomeTipoDescriçãoObrigatório?

CHAR
Sim


Exemplo





Método SET: AF


Sintaxe



_ADVPL_set_property(< l_table_reference >,"AFTER_ADD_ROW_EVENT",< Função >)

Parâmetros



NomeTipoDescriçãoObrigatório?

CHAR
Sim


Exemplo





Método SET: AF


Sintaxe



_ADVPL_set_property(< l_table_reference >,"AFTER_ADD_ROW_EVENT",< Função >)

Parâmetros



NomeTipoDescriçãoObrigatório?

CHAR
Sim


Exemplo





Método SET: AF


Sintaxe



_ADVPL_set_property(< l_table_reference >,"AFTER_ADD_ROW_EVENT",< Função >)

Parâmetros



NomeTipoDescriçãoObrigatório?

CHAR
Sim


Exemplo





Método SET: AF


Sintaxe



_ADVPL_set_property(< l_table_reference >,"AFTER_ADD_ROW_EVENT",< Função >)

Parâmetros



NomeTipoDescriçãoObrigatório?

CHAR
Sim


Exemplo





Método SET: AF


Sintaxe



_ADVPL_set_property(< l_table_reference >,"AFTER_ADD_ROW_EVENT",< Função >)

Parâmetros



NomeTipoDescriçãoObrigatório?

CHAR
Sim


Exemplo





Método SET: AF


Sintaxe



_ADVPL_set_property(< l_table_reference >,"AFTER_ADD_ROW_EVENT",< Função >)

Parâmetros



NomeTipoDescriçãoObrigatório?

CHAR
Sim


Exemplo





Método SET: AF


Sintaxe



_ADVPL_set_property(< l_table_reference >,"AFTER_ADD_ROW_EVENT",< Função >)

Parâmetros



NomeTipoDescriçãoObrigatório?

CHAR
Sim


Exemplo





Método SET: AF


Sintaxe



_ADVPL_set_property(< l_table_reference >,"AFTER_ADD_ROW_EVENT",< Função >)

Parâmetros



NomeTipoDescriçãoObrigatório?

CHAR
Sim


Exemplo





Método SET: AF


Sintaxe



_ADVPL_set_property(< l_table_reference >,"AFTER_ADD_ROW_EVENT",< Função >)

Parâmetros



NomeTipoDescriçãoObrigatório?

CHAR
Sim


Exemplo





Método SET: AF


Sintaxe



_ADVPL_set_property(< l_table_reference >,"AFTER_ADD_ROW_EVENT",< Função >)

Parâmetros



NomeTipoDescriçãoObrigatório?

CHAR
Sim


Exemplo





Método SET: AF


Sintaxe



_ADVPL_set_property(< l_table_reference >,"AFTER_ADD_ROW_EVENT",< Função >)

Parâmetros



NomeTipoDescriçãoObrigatório?

CHAR
Sim


Exemplo





Método SET: AF


Sintaxe



_ADVPL_set_property(< l_table_reference >,"AFTER_ADD_ROW_EVENT",< Função >)

Parâmetros



NomeTipoDescriçãoObrigatório?

CHAR
Sim


Exemplo





Método SET: AF


Sintaxe



_ADVPL_set_property(< l_table_reference >,"AFTER_ADD_ROW_EVENT",< Função >)

Parâmetros



NomeTipoDescriçãoObrigatório?

CHAR
Sim


Exemplo





Método SET: AF


Sintaxe



_ADVPL_set_property(< l_table_reference >,"AFTER_ADD_ROW_EVENT",< Função >)

Parâmetros



NomeTipoDescriçãoObrigatório?

CHAR
Sim


Exemplo






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