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 ,"INDEX_VALUE",2)




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?
uValue
QUALQUER
Valor do item na lista de seleção.Sim
cDescription
CHAR

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

Sim


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","C","Cancelado")



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")  






Exemplos


Expandir
titleExemplo 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)
        
    #Cria#Instancia uma janela de diálogo e atribui também suas propriedades
    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)

    #Cria#Instancia um acomponente listbox dena exemplojanela nade formdiá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, que ao ser pressionado 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