COMO PREENCHER UM LISTVIEW COM IMAGEM
Pessoal Chegeui a procurar aki como preencher o listvoew com imagem!
nao encontrei nada q eu posso utlizar!
tenho um banco access q salva todos os caminhos das imagens.
Preciso saber como faço pra pegar os endereços e mostrar no listview estas imagens..
Espero q nao seja muito dificil. rss
Desde já agradeço a ajuda!
nao encontrei nada q eu posso utlizar!
tenho um banco access q salva todos os caminhos das imagens.
Preciso saber como faço pra pegar os endereços e mostrar no listview estas imagens..
Espero q nao seja muito dificil. rss
Desde já agradeço a ajuda!
Ngm ?? rs
Olá THIAGOEMECAL
Não sei se serve, mas fiz o seguinte: criei um form com um ListView e um PictureBox. O ListView lista os registros do banco Access, já o PictureBox mostra a imagem do registro selecionado.
Em anexo, dentro do arquivo compactado, existem duas pastas: Uma pasta tem o projeto criado em VBNET com o form e a conexão com o banco. A pasta teste foi a pasta criada para armazenar as imagens e o banco de dados. Nessa pasta tem, portando, as quatro imagens que usei como exemplo e o banco criado, que se chama BDTeste.mdb. Para funcionar, essa pasta deve ser colocada direto no [Ô]C:[Ô]. Fica assim:
[Ô]C: este\[Ô]
Quando o form é carregado aparece o ListView preenchido com os registros do banco. Conforme você clica no registro, ao lado aparece a imagem correspondente à quele registro. Se clicar em outro registro, outra imagem vai aparecer, e assim por diante.
Os códigos fonte aparecem no projeto, mesmo assim estou colocando os mesmos logo abaixo:
Public Class Form1
Public i As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim conn As New OleDb.OleDbConnection
conn.ConnectionString = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C: este\BDTeste.mdb;User Id=admin;Password=;[Ô]
Dim cmd As OleDb.OleDbCommand
cmd = conn.CreateCommand
cmd.CommandText = [Ô]Select caminho,imagem,codimagem From tbimagem[Ô]
conn.Open()
Dim leitor As OleDb.OleDbDataReader
leitor = cmd.ExecuteReader
Dim i As Integer
i = 0
For i = 0 To leitor.FieldCount - 1
ListView1.Columns.Add(leitor.GetName(i).ToString, 110, HorizontalAlignment.Left)
Next
ListView1.View = View.Details
Do While leitor.Read
Dim novoitem As New ListViewItem
novoitem.Text = leitor(0)
For i = 1 To leitor.FieldCount - 1
If leitor(i) Is DBNull.Value Then
novoitem.SubItems.Add([Ô] [Ô])
Else
novoitem.SubItems.Add(leitor.Item(i).ToString)
End If
Next
ListView1.Items.Add(novoitem)
Loop
conn.Close()
conn.Dispose()
End Sub
Private Sub ListView1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.Click
Dim picFoto As System.Windows.Forms.PictureBox
picFoto = New System.Windows.Forms.PictureBox
Dim path As String
path = Me.ListView1.SelectedItems(i).Text.ToString
Me.picFoto.Load(path)
End Sub
Private Sub cmdSair_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSair.Click
Me.Close()
End Sub
End Class
Abraço,
Alexandre
Não sei se serve, mas fiz o seguinte: criei um form com um ListView e um PictureBox. O ListView lista os registros do banco Access, já o PictureBox mostra a imagem do registro selecionado.
Em anexo, dentro do arquivo compactado, existem duas pastas: Uma pasta tem o projeto criado em VBNET com o form e a conexão com o banco. A pasta teste foi a pasta criada para armazenar as imagens e o banco de dados. Nessa pasta tem, portando, as quatro imagens que usei como exemplo e o banco criado, que se chama BDTeste.mdb. Para funcionar, essa pasta deve ser colocada direto no [Ô]C:[Ô]. Fica assim:
[Ô]C: este\[Ô]
Quando o form é carregado aparece o ListView preenchido com os registros do banco. Conforme você clica no registro, ao lado aparece a imagem correspondente à quele registro. Se clicar em outro registro, outra imagem vai aparecer, e assim por diante.
Os códigos fonte aparecem no projeto, mesmo assim estou colocando os mesmos logo abaixo:
Public Class Form1
Public i As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim conn As New OleDb.OleDbConnection
conn.ConnectionString = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C: este\BDTeste.mdb;User Id=admin;Password=;[Ô]
Dim cmd As OleDb.OleDbCommand
cmd = conn.CreateCommand
cmd.CommandText = [Ô]Select caminho,imagem,codimagem From tbimagem[Ô]
conn.Open()
Dim leitor As OleDb.OleDbDataReader
leitor = cmd.ExecuteReader
Dim i As Integer
i = 0
For i = 0 To leitor.FieldCount - 1
ListView1.Columns.Add(leitor.GetName(i).ToString, 110, HorizontalAlignment.Left)
Next
ListView1.View = View.Details
Do While leitor.Read
Dim novoitem As New ListViewItem
novoitem.Text = leitor(0)
For i = 1 To leitor.FieldCount - 1
If leitor(i) Is DBNull.Value Then
novoitem.SubItems.Add([Ô] [Ô])
Else
novoitem.SubItems.Add(leitor.Item(i).ToString)
End If
Next
ListView1.Items.Add(novoitem)
Loop
conn.Close()
conn.Dispose()
End Sub
Private Sub ListView1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.Click
Dim picFoto As System.Windows.Forms.PictureBox
picFoto = New System.Windows.Forms.PictureBox
Dim path As String
path = Me.ListView1.SelectedItems(i).Text.ToString
Me.picFoto.Load(path)
End Sub
Private Sub cmdSair_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSair.Click
Me.Close()
End Sub
End Class
Abraço,
Alexandre
Caro amigo ENGALEXANDRE
Agradeço pela ajuda!
Agradeço pela ajuda!
Tópico encerrado , respostas não são mais permitidas