Páginas filhas
  • LGX - LLISTBOX

Versões comparadas

Chave

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

Pagetitle
LGX - LLISTBOX
LGX - LLISTBOX
Componente que permite criar uma lista em tela com barra de rolagem.


Hierarquia



Métodos GET


Métodos acessíveis através da função _ADVPL_get_property que permite recuperar os valores do componente.


Expandir
titleGET INDEX_SELECTED

Método GET: INDEX_SELECTED

Retorna a ordem do índice selecionado na lista.

Sintaxe



Bloco de código
_ADVPL_get_property( < l_listbox_reference >, "INDEX_SELECTED" ) => INTEGER

Retorno



TipoDescrição
INTEGER

Índice do item selecionado.



Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
DEFINE l_index_selected SMALLINT

LET l_index_selected = _ADVPL_get_property( l_listbox_reference ,"INDEX_SELECTED")



Expandir
titleGET ITEM_SELECTED

Método GET: ITEM_SELECTED

Retorna o valor do texto do item atual selecionado na lista.

Sintaxe



Bloco de código
_ADVPL_get_property( < l_listbox_reference >, "ITEM_SELECTED" ) => CHAR

Retorno



TipoDescrição
CHAR

Valor do índice atual selecionado na lista.


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
DEFINE l_index_value CHAR(50)

LET l_index_value = _ADVPL_get_property(l_listbox_reference,"ITEM_SELECTED")



Expandir
titleGET ITEM_AT

Método GET: ITEM_AT

Retorna o valor do texto de um determinado item da lista.

Sintaxe



Bloco de código
_ADVPL_get_property( < l_listbox_reference >, "ITEM_AT", < nIndex > ) => INTEGER

Parâmetros



NomeTipoDescriçãoObrigatório?
nIndex
INTEGER

Número do índice da lista que deseja retornar o conteúdo de texto.

(informação) Quando não for informado o número do índice, irá considerar o índice do item atual selecionado da lista.

Não

Retorno



TipoDescrição
CHAR

Conteúdo do texto registrado para o índice da lista informado.


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
DEFINE l_index_value CHAR(50)

#Retornar o texto do item 2 da lista
LET l_index_value = _ADVPL_get_property( l_listbox_reference ,"ITEM_AT",2)



Expandir
titleGET ITEM_COUNT

Método GET: ITEM_COUNT

Retorna a quantidade total de itens contidos na lista.

Sintaxe



Bloco de código
_ADVPL_get_property( < l_listbox_reference >, "ITEM_COUNT") => INTEGER


Retorno



TipoDescrição
INTEGER

Quantidade total de itens contidos na lista.


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
DEFINE l_index_count INTEGER

#Retornar o total de itens da lista
LET l_index_count = _ADVPL_get_property( l_listbox_reference ,"ITEM_COUNT")




Métodos SET


Métodos acessíveis utilizando a função _ADVPL_set_property que permite alterar e manipular os valores do componente.


Expandir
titleSET ADD_ITEM

Método SET: ADD_ITEM

Adiciona um item na lista de seleção.

Sintaxe



Bloco de código
_ADVPL_get_property( < l_listbox_reference >, "ADD_ITEM",< uValue >, < cDescription > ) =>

Parâmetros



NomeTipoDescriçãoObrigatório?
cDescription
CHAR

Conteúdo texto a ser exibido para o item na lista de seleção.

Sim
uValue
QUALQUER
Valor a ser assumido quando este item estiver selecionado. 

(informação) Este valor não é obrigatório, mas é o valor que é atribuído para a variável associada ao componente através da propriedade VARIABLE.  Quando não informado assume o mesmo valor definido no parâmetro cDescription.
Não


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
#Adicionar o item de valor "C" que apresenta o texto na lista como "Cancelado"
CALL _ADVPL_set_property( l_listbox_reference ,"ADD_ITEM","Cancelado","C")



Expandir
titleSET CLEAR

Método SET: CLEAR 

Remove todos os itens da lista de seleção.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_listbox_reference >,"CLEAR")


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
#Remove todos itens da lista de seleção
CALL _ADVPL_set_property( l_listbox_reference ,"CLEAR")




Expandir
titleSET REMOVE_ITEM

Método SET: REMOVE_ITEM

Remove um item da lista de seleção.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_listbox_reference >,"REMOVE_ITEM",< nIndex >)

Parâmetros



NomeTipoDescriçãoObrigatório?
nIndex
INTEGERÍndice do item que será removido.Sim


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
#Remove o item 3 da lista de seleção
CALL _ADVPL_set_property( l_listbox_reference ,"REMOVE_ITEM",3)




Expandir
titleSET SELECT_ITEM

Método SET: SELECT_ITEM 

Seleciona um determinado item da lista de seleção através do índice informado.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_listbox_reference >,"SELECT_ITEM", < nIndex > )

Parâmetros



NomeTipoDescriçãoObrigatório?
nIndexINTEGERÍndice do item da lista de seleção que deverá ser selecionado.Sim

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
#Seleciona o 1o item da lista de seleção
CALL _ADVPL_set_property( l_listbox_reference ,"SELECT_ITEM",1)    




Expandir
titleSET ORDER

Método SET: ORDER

Indica a ordenação dos valores na lista de seleção.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_listbox_reference >,"ORDER", < cORDER > )

Parâmetros



NomeTipoDescriçãoObrigatório?
cORDERCHAR

Ordenação dos itens na lista conforme o conteúdo de texto exibido em cada item.

    ASC - Ordem Ascendente

    DESC - Ordem Descendente

Sim

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
#Ordenar a lista pelo conteúdo apresentado em ordem ascendente
CALL _ADVPL_set_property( l_listbox_reference ,"ORDER","ASC")  




Expandir
titleSET ITEM_MOVE_UP

Método SET: ITEM_MOVE_UP

Mover um determinado item da lista uma posição acima da atual.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_listbox_reference >,"ITEM_MOVE_UP", < nIndex > )

Parâmetros



NomeTipoDescriçãoObrigatório?
nIndexINTEGER

Posição do item na lista a ser reposicionado uma posição para cima.

Sim

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
#Mover o item 2 da lista uma posição acima
CALL _ADVPL_set_property( l_listbox_reference ,"ITEM_MOVE_UP",2)  




Expandir
titleSET ITEM_MOVE_DOWN

Método SET: ITEM_MOVE_DOWN

Mover um determinado item da lista uma posição abaixo da atual.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_listbox_reference >,"ITEM_MOVE_DOWN", < nIndex > )

Parâmetros



NomeTipoDescriçãoObrigatório?
nIndexINTEGER

Posição do item na lista a ser reposicionado uma posição para baixo.

Sim

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
#Mover o item 1 da lista uma posição abaixo
CALL _ADVPL_set_property( l_listbox_reference ,"ITEM_MOVE_DOWN",1)  




Expandir
titleSET GO_TOP

Método SET: GO_TOP

Posicionar no primeiro item da lista.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_listbox_reference >,"GO_TOP")

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
#Posicionar o cursor no 1o item da lista
CALL _ADVPL_set_property( l_listbox_reference ,"GO_TOP")  




Expandir
titleSET GO_BOTTOM

Método SET: GO_BOTTOM

Posicionar no último item da lista.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_listbox_reference >,"GO_BOTTOM")


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
#Posicionar o cursor no último item da lista
CALL _ADVPL_set_property( l_listbox_reference ,"GO_BOTTOM")  





Exemplos

Expandirtitle

Exemplo

de utilização



Bloco de código
languageruby
themeConfluence
linenumberstrue
DEFINE m_listbox_reference VARCHAR(10)
DEFINE m_form_reference    VARCHAR(10)
DEFINE mr_value            RECORD 
                           item_value CHAR(1)
                           END RECORD

#------------------------# 
FUNCTION LListBox_test()
#------------------------# 
    DEFINE l_panel_button        VARCHAR(10)
    DEFINE l_button_reference    VARCHAR(10)
        
    #Instancia uma janela de diálogo
    LET m_form_reference = _ADVPL_create_form(NULL, "LDIALOG")
    CALL _ADVPL_set_property(m_form_reference, "TITLE", "Exemplo LLISTBOX")
    CALL _ADVPL_set_property(m_form_reference, "SIZE", 240, 180)

    #Instancia um componente listbox na janela de diálogo
    LET m_listbox_reference = _ADVPL_create_component(NULL, "LLISTBOX", m_form_reference)  
    CALL _ADVPL_set_property(m_listbox_reference,"ALIGN","CENTER")
    CALL _ADVPL_set_property(m_listbox_reference,"ADD_ITEM","Português","P")  
    CALL _ADVPL_set_property(m_listbox_reference,"ADD_ITEM","English","E")  
    CALL _ADVPL_set_property(m_listbox_reference,"ADD_ITEM","Español","S")  
    CALL _ADVPL_set_property(m_listbox_reference,"VARIABLE",mr_value,"item_value")  

    LET l_panel_button = _ADVPL_create_component(NULL, "LPANEL",m_form_reference)
    CALL _ADVPL_set_property(l_panel_button,"ALIGN","BOTTOM")
    CALL _ADVPL_set_property(l_panel_button,"SIZE",180,30)

    #Instancia um botão SAIR alinhado a direita no rodapé da janela de diálogo
    #Ao pressionar esse botão irá registrar no LOG do AppServer algumas informações do componente LISTBOX da tela e depois irá encerrar a janela de diálogo
    LET l_button_reference = _ADVPL_create_component(NULL,"LBUTTON",l_panel_button)
    CALL _ADVPL_set_property(l_button_reference,"SIZE",180,30)
    CALL _ADVPL_set_property(l_button_reference,"TEXT","Sair")
    CALL _ADVPL_set_property(l_button_reference,"ALIGN","RIGHT")
    CALL _ADVPL_set_property(l_button_reference,"ENABLE",TRUE)
    CALL _ADVPL_set_property(l_button_reference,"CLICK_EVENT","LListbox_exit")

    #Aponta o 2o item do LISTBOX como item corrente selecionado
    CALL _ADVPL_set_property(m_listbox_reference,"SELECT_ITEM",1)  

    #Ativa a tela
    CALL _ADVPL_set_property(m_form_reference, "ACTIVATE", TRUE)
 END FUNCTION 

#--------------------------#
 FUNCTION listbox_exit()
#--------------------------#
    #Mostra o valor atual selecionado para o LISTBOX
    CALL CONOUT("Valor item atual LISTBOX = "||_ADVPL_get_property(m_listbox_reference,"VALUE"))

    #Mostra o valor do texto do 3o item do LISTBOX
    CALL CONOUT("Texto do item 3 LISTBOX = "||_ADVPL_get_property(m_listbox_reference,"ITEM_AT",3))

    CALL _ADVPL_set_property(m_form_reference, "ACTIVATE", FALSE)
 END FUNCTION