Ir para o conteúdo
ferreira12

[Resolvido] ListView passar campos para texbox entre ";"

Mensagens Recomendadas

ferreira12

Boas,

Estou a carregar dados para uma listview. Carregada a listview conforme vou clicando queria que a o campo selecionado passe para a textbox, aparecendo no formato ;

ana; manuel; joao;

TextBox2.Text = Me.lstEstadoCivilSexo.SelectedItems(0).SubItems(4).Text

estou a usar algo como isto, mas não me chega.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
NunoDinis

TextBox2.Text = Me.lstEstadoCivilSexo.SelectedItems(0).SubItems(4).Text & ";"

É isto que queres ?

Editado por NunoDinis

Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro.

ndsotware.org

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Tiago Salgado

Nesse caso tens que fazer append ao que já tens.

TextBox2.Text &= Me.lstEstadoCivilSexo.SelectedItems(0).SubItems(4).Text & ";"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ferreira12

Aproveitando ainda a vossa ajuda sobre este assunto, e para colocar automaticamente logo toda a informação existente na listview.

Estou neste momento a usar doubleClick. Qual é o método que tenho de chamar, mal carrega a listview, passe para o textbox por ";"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
NunoDinis

Se queres carregar para a listview todos os dados quando o formulário abre, utilizas o evento form_load.


Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro.

ndsotware.org

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ferreira12

Pois, isso foi o que pensei/experimentei, mas como deu o seguinte erro

InvalidArgument=Valor de '0' inválido para 'index'.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
NunoDinis

Não te devo estar a entender.

Queres carregar a listview automaticamente aquando a abertura do formulário. Só isso, certo ?


Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro.

ndsotware.org

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ferreira12

sim é isso, mas queria que depois da listview carregada me fosse buscar o subitem(4), para me colocar no textbox, ou seja,

Eu anteriormente carregava a listview, e depois com duplo clique (usava o método doubleClick da listview), para preencher o textbox(o código que me ajudaram a produzir).

Agora pretendia era que o textbox fosse preenchido directamente sem ter que recorrer ao doubleclick, mal seja carregada a listview carregue também o textbox

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
NunoDinis

É no evento form_load, como disse. Mas antes tens que pôr o código para carregar a listview, e depois o código em que te auxiliamos.

Caso volte a dar erro, põe o código aqui.


Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro.

ndsotware.org

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ferreira12

Coloquei dentro de um button, que vai dar a mesma como se tivesse no formload.

O código é o seguinte:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
 lstEstado.Items.Clear()
 LerListViewEstado(lstEstado, "SELECT * from Teste")

 TextBox2.Text &= lstEstado.SelectedItems(0).SubItems(4).Text & "; "

End Sub

Queres ver também o LerListViewEstado()?

ah, o erro é o mesmo que o anterior

InvalidArgument=Valor de '0' inválido para 'index'.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ferreira12

Acrescentei o seguinte codigo:

lstEstado.Items(2).Selected = True

Aqui ele já vai me buscar a linha 2 do subitem 4.

Como faço para seleccionar as linhas todas?

Editado por ferreira12

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
NunoDinis

Pelo que me parece, ele não está a assumir que tem valores...

Deves percorrer a listview:

For i = 1 To listview.ListItems.Count
  listview.lstnome.ListItems(i).Checked //verifica, fiz aqui e não tenho a certeza
Next


Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro.

ndsotware.org

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ferreira12

Coloquei da seguinte forma o código:

For i = 1 To lstEstado.Items.Count
	 lstEstado.Items(i).Selected = True
	 TextBox2.Text &= lstEstado.SelectedItems(0).SubItems(3).Text & "; "
	 'ListView.lstnome.ListItems(i).Checked() 'verifica, fiz aqui e não tenho a certeza
 Next

mas deu o seguinte erro:

InvalidArgument=Valor de '5' inválido para 'index'.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ferreira12

Experimentei agora da seguinte forma, mas está a dar um sim outro nao, ou seja

ex: Ana | Maria | Manuela | Carla | Pedro | aparece no textbox Ana | Manuela | Pedro

Dim i As Integer
 For i = 0 To lstEstado.Items.Count.ToString
	 i = i + 1
	 'lstEstado.Items(i).Selected = True
	 'MsgBox(lstEstado.Items(i - 1).SubItems(3).Text)
	 TextBox2.Text &= lstEstado.Items(i - 1).SubItems(3).Text & "; "
	 'ListView.lstnome.ListItems(i).Checked() 'verifica, fiz aqui e não tenho a certeza
 Next

Editado por Caça
GeSHi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
acao

boas

talvez assim:

Dim i As Integer
 For i = 0 To lstEstado.Items.Count.ToString

	 'lstEstado.Items(i).Selected = True
	 'MsgBox(lstEstado.Items(i - 1).SubItems(3).Text)
	 TextBox2.Text &= lstEstado.Items(i ).SubItems(3).Text & "; "
	 'ListView.lstnome.ListItems(i).Checked() 'verifica, fiz aqui e não tenho a certeza
 Next

cumps

acao

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.