COMO CARREGAR NUM COMBOBOX VALORES DE UM LISTVIEW

MILTONSILVA94 12/07/2015 21:41:56
#448715
Estou com um formulário que irão ser carregados no listview os nomes de perfis de funcionários cadastrados.
Após isso quero saber se consigo um rotina para puxar em outra tela do formulário todos os valores que estão no listview para que puxe automaticamente em um combobox.
Aguardo sugestões,
JABA 12/07/2015 22:00:27
#448716
For i = 1 to seuListView.ListItems.Count
ComboBox.AddItem seuListView.ListItems(i).SubItems(1)
Next

ou

For i = 1 to seuListView.ListItems.Count
ComboBox.Items.Add(seuListView.ListItems(i).SubItems(1))
Next
ALVAROVB2009 13/07/2015 09:57:28
#448738
O List é bem legal para se trabalhar, seguem 3 exemplos para você estudar e adaptar ao que vc precisa
Exemplo 1
Exemplo 2
Exemplo 3

Acho que isso pode te ajudar, más qqer coisa posta ai
MILTONSILVA94 13/07/2015 18:51:46
#448781
JABA, estou realizando em VB6(classifiquei de forma errada), tipo tenho um formulário [ô]frmPerfis[ô] que têm o lvwLista onde serão carregados todos os perfis cadastrados.
No outro formulário [ô]frmUsuarios[ô] tenho o cboPerfil que é onde serão puxados todos os perfis que foram cadastrados na outra tela.
Não consegui inserir aquelas rotinas que me informou, como fazer?
JABA 13/07/2015 19:17:14
#448782
[ô]Esse código percorre o ListView e vai adicionando apenas os valores de um único campo (que foi determinado pelo indice) no ComboBox.

For i = 1 to frmPerfis.lvwLista.ListItems.Count
frmUsuarios.cboPerfil.AddItem frmPerfis.lvwLista.ListItems(i).SubItems(1) [ô]Aqui você tem que especificar o indice da coluna desejada
Next


Se não está funcionando como deveria, qual a sua dificuldade?
MILTONSILVA94 13/07/2015 19:55:37
#448784
Adicionei a primeira rotina abaixo:

Dim i As Integer
For i = 1 To lvwLista.ListItems.Count
cboPerfil.AddItem lvwLista.ListItems(i).SubItems(2)
Next

Dae aparece as informações mas não me serve pois os dados preciso buscar no outro formulário. Então coloquei a rotina abaixo:

Dim i As Integer
For i = 1 To frmPerfis.lvwLista.ListItems.Count
frmUsuarios.cboPerfil.AddItem frmPerfis.lvwLista.ListItems(i).SubItems(2)
Next

Porém não me aparece nada de retorno no cboPerfil...
ALVAROVB2009 13/07/2015 20:48:49
#448785
Milton quando te passei as dicas, tinha entendido errado a sua dúvida

Pelo que eu entendi, vc quer preencher um combobox com os dados de um list de um segundo form

Vc ja quase fez, tem que apenas fazer a referencia ao outro formulário, vc fez a referencia com o proprio formulário do combo
No form onde vc esta o combobox,pelo código que vc postou acredito que seja o frmusuarios, faça o seguinte

Dim i As Integer
For i = 1 To frmPerfis.lvwLista.ListItems.Count
cboPerfil.AddItem frmPerfis.l.ListItems(i).SubItems(2)
Next

Dessa forma quando vc abrir o frmusuario, ele vai carregar os dados do list do frmperfil
Lembrando que vc tem que abrir esse form com o combobox, sem fechar o form do list

Acho que é isso, qqer coisa posta ai
MILTONSILVA94 14/07/2015 00:41:20
#448789
Adicionei as rotinas, e mesmo assim não continua trazendo as opções no cboPerfil quando o mesmo é inicializado. Segue a imagem anexada de como eu coloquei os códigos fonte...
Porém o frmPerfis fica fechado, apenas o frmUsuarios é aberto, pois criei uma regra para o sistema abrir uma tela por vez, mais para frente irei mudar isso...
Talvez não seria melhor então eu buscar estas opções para o [ô]cboPerfil[ô] direto do banco ou consigo fazer dessa maneira mesmo só mudando aquele código?
Estou quebrando a cabeça, mas tá difícil...
ALVAROVB2009 14/07/2015 09:26:33
#448794
O problema esta ai, vc fecha o formulário antes de carregar o combo , então não tem como mesmo o sistema pegar

Como eu disse, tem que carregar antes de fechar, faça o seguinte, carregue o combo depois feche o formulário

No formulário onde esta o list, acredito que seja o frmperfil, faça assim:
Sua rotina normal, com os detalhes que comentei
dim I as integer
for i = 1 to lvwLista.ListItems.Count
[ô]Aqui vc carrega o combo do formulário do usuário com os dados do list, que será aberto depois
frmusuario.cboperfil.add lvw.ListItems(i).SubItems(2)
next
[ô]Aqui vc fecha o formulário do list
unload me
[ô]aqui vc abre o formulário já com o combo carregado
frmusuario.show 1

Desse forma, vc terá apenas 1 form aberto conforme a sua rotina
Qqer coisa posta ai
MILTONSILVA94 14/07/2015 21:04:12
#448841
E se eu quisesse em um formulário eu tenho um CboPerfil e quero puxar as informações ao abrir o formulário, dae busque as informações direto da tabela do meu banco [ô]Acess[ô] e exiba dentro deste CboPerfil.
Quero saber como montaria a rotina...
ALVAROVB2009 14/07/2015 21:28:08
#448842
isso é mais fácil

Carrega um recordset, nesse caso usei o nome rs, e depois é só fazer um loop

cboperfil.clear [ô]limpa o combo
cboperfil.add [Ô][Ô] [ô]cria a primeira linha em branco
while not rs.eof
cboperfil.add rs!nomecampo
rs.movenext
wend
Página 1 de 2 [16 registro(s)]
Tópico encerrado , respostas não são mais permitidas