Usuário com melhor resposta
Problema com LISTBOX - Não consigo usar o método additem para incluir valores em duas colunas da ListBox!

Pergunta
-
Bom dia,
É o seguinte... tenho a seguinte linha de código
frmLancamento.lstParedes.AddItem frmLancamento.lstParedes.List(MyCtl.Caption, cboAndar)
O que quer dizer? Quer dizer que no ListBox (lstParedes) do formulário frmLancamento será inserido na última linha disponível: na primeira coluna: MyCtl.Caption e na segunda coluna o valor de cboAndar (ComboBox).
Em vista o código está bem errado, aliás... a propriedade List serve para encontrar ou definir posições do estilo índice e não para inserir dados ... É visível que meu código está fazendo a burrice de inserir dados onde, na verdade, eu atribuí MyCtl.Caption como uma "variável" para rows enquanto cboAndar foi para columns ...
Mas é isso gente, RESUMINDO:
Como faço para adicionar o valor de MyCtl.Caption na primeira coluna da ListBox lstParedes e o valor de cboAndar na segunda coluna da ListBox lstParedes.
Desde já muito obrigado,
João
Respostas
-
Os parametros da propriedade list é (indice, coluna), por isso deves fazer assim:
frmLancamento.lstParedes.AddItem MyCtl.Caption frmLancamento.lstParedes.List(frmLancamento.lstParedes.ListCount-1,1)= cboAndar
Partindo do principio que o item adicionado vai para o fim da lista.
Qualquer dos paramentros indice e coluna começam em 0(zero), por isso o ultimo item é igual à quantidade de items-1.
- Marcado como Resposta jrafaeel sábado, 31 de março de 2012 00:11
Todas as Respostas
-
Os parametros da propriedade list é (indice, coluna), por isso deves fazer assim:
frmLancamento.lstParedes.AddItem MyCtl.Caption frmLancamento.lstParedes.List(frmLancamento.lstParedes.ListCount-1,1)= cboAndar
Partindo do principio que o item adicionado vai para o fim da lista.
Qualquer dos paramentros indice e coluna começam em 0(zero), por isso o ultimo item é igual à quantidade de items-1.
- Marcado como Resposta jrafaeel sábado, 31 de março de 2012 00:11
-
Os parametros da propriedade list é (indice, coluna), por isso deves fazer assim:
frmLancamento.lstParedes.AddItem MyCtl.Caption frmLancamento.lstParedes.List(frmLancamento.lstParedes.ListCount-1,1)= cboAndar
Partindo do principio que o item adicionado vai para o fim da lista.
Qualquer dos paramentros indice e coluna começam em 0(zero), por isso o ultimo item é igual à quantidade de items-1.
-
Funcionou, obrigado! De praxe ainda aprendi a lógica que me faltava (=
Vou aproveitar e perguntar: como eu consigo colocar um "cabeçalho" na listbox? Tipo, na coluna1 = NOME, depois coluna2 = ANDAR e deixar em destaque, bonitinho e etc ... como um cabeçalho mesmo ...
Abraços
-
A propriedade ColumnHeads indica se tem ou não tem cabeçalho.
Mas para o teu caso o cabeçalho irá ficar vazio. Ele só mostra valores se a lista estiver ligada a celulas de uma folha, onde o cabeçalho é o texto que estiver nas células imediatamente acima da primeira linha.
Para teres a apresentação de cabeçalhos na tua listbox deves ligá-la a celulas e em lugar de adicionares itens à lista inseres esse valores nas células ligadas.
Por exemplo, se a listbox estiver ligada à celulas A2:B10, o cabeçalho é o texto das celulas A1 e B1.
-
-