MAIS UMA DÊVIDA DE NOVATO SOBRE LISTVIEW

TRINDADI 02/09/2015 12:41:32
#450886
Identificar o item em tal posição;
Ex.
Listview1
banana
maçã
pera
uva
laranja

Eu digito num textbox o numero 3, e seleciona a palavra uva no listview1 se digito 2 seleciona pera.
Alguem me ajude nessa dúvida. Já tentei pesquisar e não achei
Obrigado
TUNUSAT 02/09/2015 13:10:45
#450887
TRINDADI,

===========================================
Sección de códigos , trucos y ejemplos para visual basic
Ejemplo 1 - Buscar por Items - listview
http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/192-buscar-listview-finditem.htm
===========================================
http://www.vbweb.com.br/dicas_visual.asp?Codigo=1095

Citação:

Postada em 31/7/2003 por cacá
O controle Listview expõe um método para pesquisa em seus items. A sintaxe é:

FindItem string, [where], [index], [fPartial]

O argumento string é o valor que você quer achar

Where é um argumento opcional que define onde você fará a pesquisa. Os valores que configuram esse argumento são:
lvwText ou 0 - Pesquisa na propriedade text dos ListItems
lvwSubItem ou 1 - Pesquisa nos ListSubItems
lvwTag ou 2 - Pesquisa na propriedade Tag do ListItem

O argumento index define a partir de qual item da lista será iniciada a busca. Se quiser buscar a partir do quinto item, defina esse argumento como 5 por exemplo

O argumento fPartial, também opcional, define o modo de comparação na pesquisa. Ele pode ter os seguintes valores:
lvwWholeWord ou 0 - Busca por coincidências exatas da palavra procurada. Ex: Se buscar por [Ô]Visual Basic[Ô], items que contenham [Ô]Visual Basic 6[Ô] não serão considerados
lvwPartial ou 1 - Busca por strings que começam com o texto procurado

Utilizando na prática:
Vou buscar por coincidências exatas de [Ô]Visual Basic[Ô] nos ListSubItems


If Not Listview.FindItem([Ô]Visual Basic[Ô], lvwSubItem, , lvwWholeWord) Is Nothing Then
Msgbox [Ô]Texto encontrado[Ô]
End If


Se você quiser selecionar o item que contenha a texto procurado use:
Listview.SelectedItem = Listview.FindItem string, [where], [index], [fPartial] 

=======================================

Por favor, monte também este exemplo:
=======================================
VB6 e ADO - Usando o Controle ListView e SQL
http://www.macoratti.net/listview.htm
=======================================

Aqui no VBMania tem muitos exemplos de ListView também.
Digite [Ô]ListView[Ô] onde está escrito [Ô]Digite Algum Termo[Ô] e depois isole por VB6.
veja sobre ordenação da listview e outras funcionalidades interessantes.

[][ô]s,
Tunusat.
TRINDADI 02/09/2015 13:35:52
#450889
Esqueci de falar que estou usando o VB 2008.
TUNUSAT 02/09/2015 13:48:17
#450892
TRINDADI,

Tá escrito lá em cima [Ô]VB / VBA[Ô]...
... como diz [Ô]Morpheus[Ô] no [Ô]Matrix[Ô] ... Again!!!

Abaixo achei uma função pronta no site do Macoratti para fazer isso. Por favor, depure-a:
=======================================
VB .NET - Procurando itens em um ListView
http://www.macoratti.net/13/09/vbn_pilv1.htm

 Private Function EncontraItem(ByVal LV As ListView, ByVal TextToFind As String) As Integer
[ô] percorre os ListViewItems.
For i As Integer = 0 To LV.Items.Count - 1
If Trim(LV.Items(i).Text) = Trim(TextToFind) Then
[ô] Se encontrar retorna o numero da linha
Return (i)
End If
For subitem As Integer = 0 To LV.Items(i).SubItems.Count - 1
If Trim(LV.Items(i).SubItems(subitem).Text) = Trim(TextToFind) Then
[ô] se encontrar retorna o numero da linha
Return (i)
End If
Next
Next
[ô] Se não encontrar nada retorna -1.
Return -1
End Function


Private Sub btnLocalizar_Click(sender As Object, e As EventArgs) Handles btnLocalizar.Click
lvCustomers.MultiSelect = False
lvCustomers.FullRowSelect = True

[ô]chama a função para encontrar o item
Dim verificaItem As Integer = EncontraItem(lvCustomers, TextBox1.Text)
[ô]se não retornou -1 então exibe a linha no listview
If verificaItem <> -1 Then
lvCustomers.Items(verificaItem ).Selected = True
[ô]define o foco no controle Listview
lvCustomers.Focus()
[ô]assegura que se o item estiver em uma parte não visível ele será exibido
lvCustomers.SelectedItems(0).EnsureVisible()
Else
lblmsg.Text = [Ô]Não localizado ![Ô]
End If
End Sub

=======================================

Por favor, monte também este exemplo:
=======================================
Usando o controle ListView
http://www.macoratti.net/vbn_lstv.htm
=======================================

Aqui no VBMania tem muitos exemplos de ListView também.
Digite [Ô]ListView[Ô] onde está escrito [Ô]Digite Algum Termo[Ô] e depois isole por VB.Net.
Veja sobre ordenação da listview e outras funcionalidades interessantes.

[][ô]s,
Tunusat.
TRINDADI 02/09/2015 13:59:33
#450893
Acho que não expliquei direito.
Eu quero digitar o indice, e na listview ficar selecionado ou me retornar em uma texbox ou label o item daquele indice.
Obs: Eu não conheço o item. se minha lista conter 5000 itens eu digito 1832, me retorna o que eu tenho no indice 1832.
Se alguem souber agradeço
DS2T 02/09/2015 15:53:30
#450900
Resposta escolhida
seuTextBox.Text = seuListview.Items(DIGITA SEU INDICE AQUI).Text [ô] esse código vai jogar o item pro textbox
seuListview.Items(DIGITA SEU INDICE AQUI).Selected = True [ô] esse código vai selecionar o item


Através do código do Tunusat fica fácil ver como funciona, ele usa a todo momento o uso de índices. A única diferença é que ele tem uma função antes pra pegar o índice de uma string...

Att,
KERPLUNK 02/09/2015 19:30:33
#450909
Não esqueça que o índice começa em ZERO e não em um.
TRINDADI 04/09/2015 15:47:59
#451016
Muito obrigado a todos pela ajuda.
Ds2T Valeu mesmo funcionou perfeitamente
Até a próxima pessoal
Tópico encerrado , respostas não são mais permitidas