Pergunte aqui
0

Como saber a posição de uma determinado valor em um Combobox

perguntadas 2018-11-09 02:05:49 +0100

imagem do gravatar de Amaral

Tenho um Combobox com valores e quero obter a posição de um item. Seria uma uma função como .ListIndex do VBA Excel que faz referência direta a posição do item escolhido. Sei que é possível realizar essa operação atraves de um comando For, mas quero minimizar o tamanho do código.

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

1 Resposta

1

respondidas 2018-11-10 14:14:41 +0100

imagem do gravatar de Grafeno

Bom dia,

Quando você quer o índice (posição) do item na lista, o melhor é usar uma Listbox. É só desenhá-la e definir a propriedade Suspensa como Sim. Em seguida, no código acessar a propriedade SelectedItemPos conforme o exemplo:

Estou assumindo que o listbox "Caixa de listagem 1" está na Planilha1:

Sub Main
   oDoc = ThisComponent
   oControlador = oDoc.CurrentController
   oForm = oDoc.Sheets.getByName("Planilha1").DrawPage.Forms(0)

   oListBox = oForm.getByName("Caixa de listagem 1")
   oListBoxView = oControlador.getControl(oListBox)

   nPos = oListBoxView.SelectedItemPos

   msgbox "Índice (posição): " & nPos,,"ListBox"
End Sub

Atte,

editar assinalar como ofensivo Excluir Link mais

Comentários

O problema e que o listbox não me dá a aparência desejada. Essa ideia do Listbox é boa quero com o Combobox. Grato

imagem do gravatar de AmaralAmaral ( 2018-11-12 04:07:56 +0100 )editar

@Amaral, o que você quer dizer por aparência desejada? No LibreOffice, o listbox e o combobox podem ser bastante similares em aparência. Veja esta imagem.

imagem do gravatar de GrafenoGrafeno ( 2018-11-13 00:02:22 +0100 )editar

Sua ideia é ótima, mas eu quero digitar digitar, como no Combobox do Excel. A lista suspensa não possibilita digitar. O objetivo é digitar e identificar se determinado valor pertence ou não ao Combobox. Caso pertença, as informações, dependente deste Combobox, serão preenchidas em caso de não pertencer um botão dará a opção de inserir o item que não consta. Eu estou fazendo isso em uma Caixa de Diálogo BASIC.

imagem do gravatar de AmaralAmaral ( 2018-11-13 13:19:31 +0100 )editar
Login/Registrar para responder

Ferramentas de perguntas

1 seguidor

Estatísticas

Perguntadas: 2018-11-09 02:05:49 +0100

Lidas: 50 vezes

Última atualização: Nov 10 '18