LISTVIEW EM ORDEM ALFABETICA COMO FAZER?

KURTGU 19/01/2011 21:14:07
#362778
Pessoal gostaria de saber se e possivel pegar os itens do listview e colocalos em ordem alfabetica e outra duvida como colocar uma textbox e assim que eu digitar a letra vamos Supor d Ele ir para a primeira linha com a letra d isso o listview esta ligado ao bd acess.
WEBSTERGONTIJO 19/01/2011 21:52:38
#362781
Boa noite, nao sei se entendi bem mas tenta assim!!


Vc vai popular o seu listview com o que tem salvo em um bd de dados access, vlms

Dim conns As String
Dim dr As OleDb.OleDbDataReader
conns = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source= D:\PEDIDO PEÇAS.mdb[Ô]
Dim conect As New OleDb.OleDbConnection
conect.ConnectionString = conns
Dim cmd As OleDb.OleDbCommand = conect.CreateCommand
cmd.CommandText = [Ô] SELECT PEDIDO,CLIENTE,TELEFONE,VENDEDOR,STATUSGP,DATA FROM PEDIDO ORDER BY pedido desc [Ô]
dr = cmd.ExecuteReader

While dr.Read
Dim codigo As String = dr.Item(0)
Dim ls As New ListViewItem(codigo, 0)
ls.SubItems.Add(dr.Item(1))
ls.SubItems.Add(dr.Item(2))
ls.SubItems.Add(dr.Item(3))
ls.SubItems.Add(dr.Item(4))
ls.SubItems.Add(dr.Item(5))
ListView1.Items.Add(ls)

End While


tenta isso , a ordem de popular eu coloquei la no select no minha query, mandei ordenar pelo numero do pedido, ai no seu caso vc pode fazer pelo nome e etc...
cmd.CommandText = [Ô] SELECT PEDIDO,CLIENTE,TELEFONE,VENDEDOR,STATUSGP,DATA FROM PEDIDO ORDER BY pedido desc [Ô] olha ai o order by (nome do campo da tabela) desc( e o tipo de ordenaçao pode ser crescente ou decrescente)


nao sei se e isso o que quer, qualquer coisa me add no msn que posso tentar de ajudar.


vlw

LUIZCOMINO 19/01/2011 21:52:46
#362782
faça o select com order by

ex:
select * from Tabela Order By [Ô]Campoquedesejaordenar[Ô]
abraço!
JONATHANSTECKER 19/01/2011 21:54:51
#362783
Resposta escolhida
Defina a ordem ao carregar a ListView.

[Ô]SELECT* FROM Tabela ORDER BY Codigo[Ô] 


E para selecionar a linha onde iniciar com uma letra especifica...

        For Contador As Integer = 0 To Me.ListView1.Items.Count - 1
If Microsoft.VisualBasic.Left(Me.ListView1.Items(Contador).SubItems(0).Text, 1) = [Ô]D[Ô] Then
Me.ListView1.Select()
Me.ListView1.Items(Contador).Selected = True
Me.ListView1.Items(Contador).EnsureVisible()
End If
Next
KURTGU 19/01/2011 22:11:33
#362785
Jonatha eu consegui a parte de ordem alfabetica so uma duvida eu queria o seguinte quando a pessoa digitar em um textbox a letra X ele percorre a listview e para na primera linha com a letra x esse codigo que voce passou eu coloco aonde so essa duvida
JONATHANSTECKER 19/01/2011 22:24:49
#362786
Coloque no evento KeyDown no TextBox de pesquisa.
Quando pressionar ENTER irá disparar a seleção

    Private Sub btnPesquisar_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles btnPesquisar.KeyDown
Select Case e.KeyCode
Case Keys.Enter
e.SuppressKeyPress = True
For Contador As Integer = 0 To Me.ListView1.Items.Count - 1
If Microsoft.VisualBasic.Left(Me.ListView1.Items(Contador).SubItems(0).Text, 1) = [Ô]D[Ô] Then
Me.ListView1.Select()
Me.ListView1.Items(Contador).Selected = True
Me.ListView1.Items(Contador).EnsureVisible()
End If
Next
End Select
End Sub
KURTGU 19/01/2011 22:26:19
#362787
Jonathan Stecker cara vlw to aprendendo coisa pra cacete com o pessoal aqui do forum vlw mesmo... agradecido funciono de boa.....
Tópico encerrado , respostas não são mais permitidas