Páginas filhas
  • LGX - LTABLECOLUMNEX

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Pagetitle
LGX - LTABLECOLUMNEX
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:


Expandir
titleGET EDIT_COMPONENT

Método GET: EDIT_COMPONENT

Componente freeform de edição da coluna.

Sintaxe



Bloco de código
_ADVPL_get_property(l_column_reference,"EDIT_COMPONENT") ==> Componente

Retorno



TipoDescrição
CHAR

Componente freeform utilizado na edição da coluna.


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
LET l_edit_component = _ADVPL_get_property(l_column_reference,"EDIT_COMPONENT")



Expandir
titleGET HEADER

Método GET: HEADER

Cabeçalho da coluna.

Sintaxe



Bloco de código
_ADVPL_get_property(l_column_reference,"HEADER") ==> Cabeçalho

Retorno



TipoDescrição
CHAR

Texto de cabeçalho da coluna.


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
LET l_header = _ADVPL_get_property(l_column_reference,"HEADER")



Expandir
titleGET IMAGE_HEADER

Método GET: IMAGE_HEADER

Imagem de cabeçalho da coluna.

Sintaxe



Bloco de código
_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



Bloco de código
languageruby
themeConfluence
linenumberstrue
LET l_image_header = _ADVPL_get_property(l_column_reference,"IMAGE_HEADER")



Expandir
titleGET INDEX_COLUMN

Método GET: INDEX_COLUMN

Índice da coluna na grade.

Sintaxe



Bloco de código
_ADVPL_get_property(l_column_reference,"INDEX_COLUMN") ==> Índice

Retorno



TipoDescrição
( )

Índice da coluna na grade.


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
LET l_index_column = _ADVPL_get_property(l_column_reference,"INDEX_COLUMN")



Expandir
titleGET NO_VARIABLE

Método GET: NO_VARIABLE

Retorna se coluna não possui variável.

Sintaxe



Bloco de código
_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



Bloco de código
languageruby
themeConfluence
linenumberstrue
LET l_no_variable = _ADVPL_get_property(l_column_component,"NO_VARIABLE")



Expandir
titleGET ROW_SELECTED

Método GET: ROW_SELECTED

Linha selecionada na grade.

Sintaxe



Bloco de código
_ADVPL_get_property(l_column_reference,"ROW_SELECTED") ==> Linha

Retorno



TipoDescrição
( )

Linha selecionada na grade.


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
LET l_row_selected  = _ADVPL_get_property(l_table_reference,"ROW_SELECTED")



Expandir
titleGET VALUE

Método GET: VALUE

Valor da coluna.

Sintaxe



Bloco de código
_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



Bloco de código
languageruby
themeConfluence
linenumberstrue
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.


Expandir
titleSET AFTER_EDIT_EVENT

Método SET: AFTER_EDIT_EVENT

Função executada após finalizar a edição da coluna.

Sintaxe



Bloco de código
_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




Expandir
titleSET BEFORE_EDIT_EVENT

Método SET: BEFORE_EDIT_EVENT

Função executada antes de iniciar a edição da coluna.

Sintaxe



Bloco de código
_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.




Exemplo

Expandir
titleSET BLANK

Método SET:

AF

BLANK

Define se a coluna, caso não for informado, fique com o valor em branco ao invés de nulo.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_table_reference >,"AFTER_ADD_ROW_EVENTBLANK",< Função  Permite valor em branco? >)

Parâmetros



NomeTipoDescriçãoObrigatório?CHARSim

Exemplo

Bloco de código
Expandir
titleSET
 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



Bloco de código
CALL 

Método SET: AF

Sintaxe

Bloco de código
_ADVPL_set_property(< l_tablecolumn_reference >,"AFTER_ADD_ROW_EVENTBLANK",< Função >)

Parâmetros

NomeTipoDescriçãoObrigatório?
CHARSim
Bloco de código
TRUE)





Expandir
titleSET CLEAR_EDIT_PROPERTY

Método SET:

AF

CLEAR_EDIT_PROPERTY

Limpa todas as propriedades definidas para o componente de edição.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_table_reference >,"AFTERCLEAR_ADDEDIT_ROW_EVENT",< Função >)

Parâmetros

NomeTipoDescriçãoObrigatório?
CHARSim
PROPERTY")

Exemplo



Bloco de código
Expandir
titleSET

Método SET: AF

Sintaxe

Bloco de código
CALL _ADVPL_set_property(< l_tablecolumn_reference >,,"AFTERCLEAR_ADDEDIT_ROW_EVENT",< Função >)

Parâmetros

NomeTipoDescriçãoObrigatório?CHARSim

Exemplo

Bloco de código
PROPERTY")





Expandir
titleSET COLUMN_WIDTH

Método SET:

AF

COLUMN_WIDTH

Largura da coluna em pixels.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_table_reference >,"AFTER_ADD_ROW_EVENTCOLUMN_WIDTH",< FunçãoLargura >)

Parâmetros



NomeTipoDescriçãoObrigatório?
CHARLarguraSim

Exemplo

Bloco de código
INTEGERLargura da coluna em pixels.Sim


Exemplo



Bloco de código
CALL _ADVPL_set_property(l_column_reference,"COLUMN_WIDTH",50)





Expandir
titleSET EDIT_COMPONENT

Método SET:

AF

EDIT_COMPONENT

Componente freeform de edição da coluna.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_table_reference >,"AFTER_ADD_ROW_EVENTEDIT_COMPONENT",< FunçãoComponente >)

Parâmetros



NomeTipoDescriçãoObrigatório?CHARSim

Exemplo

Bloco de código
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



Bloco de código
CALL _ADVPL_set_property(l_column_reference,"EDIT_COMPONENT","LTEXTFIELD")





Exemplo

Expandir
titleSET PICTURE

Método SET:

AF

PICTURE

Propriedade do componente de edição.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_table_reference >,"AFTER_ADD_ROW_EVENTPICTURE",< FunçãoPropriedade/Método >, < Valores>)

Parâmetros



NomeTipoDescriçãoObrigatório?
Propriedade/MétodoCHARNome da propriedade que será definida para o componente de edição.Sim
Exemplo
Valores
Bloco de código
Expandir
titleSET
QUALQUERValores 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



Bloco de código
CALL 

Método SET: AF

Sintaxe

Bloco de código
_ADVPL_set_property(< l_tablecolumn_reference >,"AFTER_ADD_ROW_EVENT",< Função >)

Parâmetros

NomeTipoDescriçãoObrigatório?
CHARSim
Bloco de código
EDIT_PROPERTY","PICTURE","@!")





Expandir
titleSET HEADER

Método SET:

AF

HEADER

Cabeçalho da coluna.

Sintaxe



Sintaxe

Bloco de código
_ADVPL_set_property(< l_table_reference >,"AFTER_ADD_ROW_EVENTHEADER",< FunçãoCabeçalho >)

Parâmetros



NomeTipoDescriçãoObrigatório?
CabeçalhoCHARTexto de cabeçalho da coluna.Sim


Exemplo



Bloco de código
CALL _ADVPL_set_property(l_column_reference,"HEADER","Component")








Expandir
titleSET HEADER_CLICK_EVENT

Método SET:

AF

HEADER_CLICK_EVENT 

Função executada ao clicar no cabeçalho da coluna.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_table_reference >,"AFTERHEADER_ADDCLICK_ROW_EVENT",< Função >)

Parâmetros



NomeTipoDescriçãoObrigatório?
FunçãoCHARFunção a ser executada ao clicar no cabeçalho da coluna.Sim

Exemplo

Bloco de código

Método SET: AF

Sintaxe

Expandir
titleSET IMAGE

Método SET:

AF

IMAGE

Define uma ou várias imagens a serem exibidas na coluna.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_table_reference >,"AFTER_ADD_ROW_EVENTIMAGE",< FunçãoImagem >)

Parâmetros



NomeTipoDescriçãoObrigatório?
ImagemCHARSim

Exemplo

Bloco de código
Expandir
titleSET
Bloco de código
_ADVPL_set_property(< l_table_reference >,"AFTER_ADD_ROW_EVENT",< Função >)

Parâmetros

NomeTipoDescriçãoObrigatório?CHARSim

Exemplo

Nome 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



Bloco de código
CALL _ADVPL_set_property(l_column_reference,"IMAGE","{'S','CHECKED'}{'N','UNCHECKED'}")





Exemplo

Expandir
titleSET IMAGE_COLUMN

Método SET: IMAGE_COLUMN

Assume o valor da coluna como o nome da imagem a ser exibida.

Bloco de código
Expandir
titleSET
Método SET: AF

Sintaxe



Bloco de código
_ADVPL_set_property(< l_table_reference >,"AFTER_ADD_ROW_EVENTIMAGE_COLUMN",< Função Assume valor como nome da imagem? >)

Parâmetros



NomeTipoDescriçãoObrigatório?CHARSim

Exemplo

Bloco de código
Expandir
titleSET
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



Bloco de código
CALL 

Método SET: AF

Sintaxe

Bloco de código
_ADVPL_set_property(< l_tablecolumn_reference >,"AFTER_ADD_ROW_EVENT",< Função >)

Parâmetros

NomeTipoDescriçãoObrigatório?
CHARSim
Bloco de código
IMAGE_COLUMN",TRUE)





Expandir
titleSET IMAGE_HEADER

Método SET: IMAGE_HEADER

Imagem de cabeçalho da coluna.

Expandir
titleSET
Método SET: AF

Sintaxe



Bloco de código
_ADVPL_set_property(< l_table_reference >,"AFTER_ADD_ROW_EVENTIMAGE_HEADER",< FunçãoImagem >)

Parâmetros



NomeTipoDescriçãoObrigatório?CHARSim

Exemplo

Bloco de código
Expandir
titleSET
ImagemCHARNome da imagem no RPO que será utilizada no cabeçalho da coluna.Sim


Exemplo



Bloco de código
CALL _ADVPL_set_property(l_column_reference,"IMAGE_HEADER","CHECKED")





Expandir
titleSET NO_VARIABLE

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



Bloco de código
_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



Bloco de código
CALL _ADVPL_set_property(l_column_reference,"NO_VARIABLE")





Expandir
titleSET ORDER

Método SET: ORDER

Habilita/desabilita a ordenação dos valores da coluna.

Sintaxe



Bloco de código
_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



Bloco de código
CALL _ADVPL_set_property(l_column_reference,"ORDER",TRUE)





Expandir
titleSET ORDER_BY_COLUMN

Método SET: ORDER_BY_COLUMN

Ordena os valores da coluna.

Sintaxe



Bloco de código
_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



Bloco de código
CALL _ADVPL_set_property(l_column_reference,"ORDER_BY_COLUMN","ASC")





Exemplo

Expandir
titleSET TEXT

Método SET: TEXT

Define um ou vários textos a serem exibidos na coluna.

Sintaxe



Bloco de código
_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



Bloco de código
CALL 

Método SET: AF

Sintaxe

Bloco de código
_ADVPL_set_property(< l_tablecolumn_reference >,"AFTER_ADD_ROW_EVENT",< Função >)

Parâmetros

NomeTipoDescriçãoObrigatório?
CHARSim
Bloco de código
"TEXT","{'I','Item'}{'C','Componente'}")





Expandir
titleSET VALUE

Método SET:

AF

VALUE

Valor da coluna.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_table_reference >,"AFTER_ADD_ROW_EVENTVALUE",< Linha>, Função< >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.CHARSim


Exemplo



Bloco de código
CALL _ADVPL_set_property(l_column_reference,"VALUE",5,"50")





Expandir
titleSET VARIABLE

Método SET:

AF

VARIABLE

Variável (atributo) do ARRAY OF RECORD definido para a grade, que irá controlar o valor da coluna.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_table_reference >,"AFTER_ADD_ROW_EVENT",< Função 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



Bloco de código
CALL _ADVPL_set_property(l_column_reference,"VARIABLE","cod_empresa")






Exemplo



Expandir
titleExemplo de utilização

(informação) Importante: esta grid é para edição por coluna, caso deseja uma grid para consulta, utilize o componente LTableEx Este componente só poderá ser criado tendo um componente LTableEx ou LBrowseEx como componente pai.

Bloco de código
languageruby
themeConfluence
linenumberstruetrue
 DEFINE ma_variable ARRAY[100] OF
                    RECORD
                   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


Image RemovedImage Added