Páginas filhas
  • LGX - LTABLECOLUMNEX

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



NomeTipoDescriçãoObrigatório?
 Permite valor em branco?BOOLEANIdentificador 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



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



NomeTipoDescriçãoObrigatório?
ComponenteCHARComponente freeform que será utilizado para editar o valor da coluna.Sim

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



NomeTipoDescriçãoObrigatório?
Propriedade/MétodoCHARNome da propriedade que será definida para o componente de edição.Sim
ValoresQUALQUERValores da propriedade que será definida para o componente de edição.Sim

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



NomeTipoDescriçãoObrigatório?
CabeçalhoCHARTexto 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



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



NomeTipoDescriçãoObrigatório?
ImagemCHARNome da imagem ou um texto com as condições para que a imagem seja exibida na coluna.Sim

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



NomeTipoDescriçãoObrigatório?
Assume valor como nome da imagem?BOOLEANIndicador lógico que define se o valor da coluna será ou não considerado como o nome da imagem que deverá ser exibida.Sim

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



NomeTipoDescriçãoObrigatório?
ImagemCHARNome 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")

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



NomeTipoDescriçãoObrigatório?
Permite ordenar os valores da coluna?BOOLEANIndicador 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



NomeTipoDescriçãoObrigatório?
OrdenaçãoCHARTipo de ordenação que será realizada na coluna, sendo:


  • ASC: ordenação em forma crescente.
  • DESC ordenação de forma decrescente.
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



NomeTipoDescriçãoObrigatório?
TextoCHARTexto fixo ou de condições para exibição do mesmo na coluna.Sim

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



NomeTipoDescriçãoObrigatório?
LinhaINTEGERNúmero da linha da qual será atribuído o valor para a coluna.Sim
ValorQUALQUERValor 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



NomeTipoDescriçãoObrigatório?
 Variável (nome da coluna)CHARVariá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



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