PREENCHER LISTVIEW COM DATASET

DANLEONHART 31/01/2011 21:02:35
#363957
Como faço para preencher uma ListView com dados de um DataSet ???

Antes que alguém indique o exemplo do Macoratti, devo informar que já tentei o dele, mas dá erro na linha:

For i = 0 To ds.Tables([Ô]Pedidos[Ô]).Rows.Count - 1


E aponta para o valor do final do script [Ô]-1[Ô]

[txt-color=#0000f0]
http://www.macoratti.net/vbn_lvbd.htm[/txt-color]
ESLEYSANCHES 31/01/2011 23:34:08
#363971
Retire o -1 e veja se o erro persiste:

For i = 0 To ds.Tables([Ô]Pedidos[Ô]).Rows.Count

Se persistir poste aqui seu codigo completo para dar uma estuada !!


Abraços !!
DANLEONHART 01/02/2011 04:13:40
#363973
Já tentei assim...
o código é identico ao que está no site do Macoratti:

Private Sub PreencherList()
Dim Con As OleDbConnection
Dim SQL As String = [Ô]select * from data01[Ô]
Dim Da = New OleDbDataAdapter(SQL, Con)
Dim Da As OleDbDataAdapter
Dim Ds As DataSet

Try
Da.Fill(Ds, [Ô]Data01[Ô])
Catch ex As Exception
MsgBox(ex.Message)
End Try

LV1.Items.Clear()

Dim I As Integer

For I = 0 To Ds.Tables([Ô]Data01[Ô]).Rows.Count - 1
LV1.Items.Add(Ds.Tables([Ô]data01[Ô]).Rows(I)([Ô]ID[Ô]))
LV1.Items(I).SubItems.Add(Ds.Tables([Ô]ID[Ô]).Rows(I)([Ô]Nome[Ô]))
Next
End Sub


O erro é esse:


Pequena dúvida:
no script: Da.Fill(Ds, [Ô]Data01[Ô])
Sei que [Ô]Da[Ô] é o Adaptador OLE, e [Ô]Ds[Ô] o DataSet... mas o que é colocado na frente do DataSet ? é a tabela ???
WEBSTERGONTIJO 01/02/2011 07:28:21
#363976
Resposta escolhida
CL.open()
CL.executeQuery([Ô]select cod_func,nome_func from cad_func[Ô])

Dim DT As Data.DataTable = CL.getResult()
For I As Integer = 0 To DT.Rows.Count - 1
Dim ITEM As New ListViewItem
ITEM.Text = DT.Rows(I).Item([Ô]COD_FUNC[Ô])
ITEM.SubItems.Add(DT.Rows(I).Item([Ô]NOME_FUNC[Ô]))
ListView1.Items.Add(ITEM)
Next
CL.close()

pega ai irmao,

peguei ai fiz a pesquisa , depois declareio dt como um datatable, e joguei o resultado da minha pesquisa no danado.

ai fiz um for para contar quantas linha tem meu dt , e depois criei um listviewitem chamado item e populei ele , e logo em seguida joguei o resultado da promeira linha no listview, e assim ele fica fazendo enquanto o laço do meu for estiver satistfatorio...


Amigo vc precisando, de algo mas, duvida so falar!!!


Se a duvida tiver sido encerrada por favor feche o topico!!!

Abraços
MARCOSLING 01/02/2011 08:51:57
#363980
Eu acho mais simples e rápido usar um datareader.

Só um detalhe no seu código... pq vc colocou o preenchimento do listview fora do Try/Catch?
FOXMAN 01/02/2011 10:13:55
#363986
Citação:

:
Como faço para preencher uma ListView com dados de um DataSet ???

Antes que alguém indique o exemplo do Macoratti, devo informar que já tentei o dele, mas dá erro na linha:

For i = 0 To ds.Tables([Ô]Pedidos[Ô]).Rows.Count - 1


E aponta para o valor do final do script [Ô]-1[Ô]

link: http://www.macoratti.net/vbn_lvbd.htm



Você só não pesquisou aki no site pois eu mesmo já postei exemplo de como preencher listview com dataset e datareader utilizando mysql.

http://www.vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=8139
DANLEONHART 01/02/2011 13:27:14
#364010
Pessoal...

Obrigado pelas dicas muito úteis...colhendo um pouco de cada um conseguí fazer o que queria.
fica a dica para futuros visitantes que queiram preencher um [txt-color=#0000f0]LISTVIEW[/txt-color] ou [txt-color=#007100]LISTBOX[/txt-color] com informações contidas em um Banco de Dados.

-Com comentários:

Public Sub PreencherListas()
[ô] Estas declarações eu coloco no inicio do script;
Dim Con As OleDbConnection
Dim Da As OleDbDataAdapter
Dim Ds As DataSet

[ô] Aqui, seto as variáveis (Conexão com ADO);
Con = New OleDbConnection([Ô]Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5;Data Source=[Ô] & Application.StartupPath & [Ô]\DBase2.sdf[Ô]) [ô] Objeto de conexão com Banco de dados em SQLCE (SQL Compact Edition via código)
Dim SQL As String = [Ô]select * from data01[Ô] [ô] Consulta toda tabela;
Da = New OleDbDataAdapter(SQL, Con) [ô]Defino o Objeto [Ô]Adapatdor[Ô];
Ds = New DataSet [ô] Variável que armazena todas as informações do Banco (RecordSet do [Ô]VB-6[Ô] melhorado);

[ô] Utilizando o Adaptador preencho o DataSet definindo a tabela ([Ô]data01[Ô]);
Da.Fill(Ds, [Ô]data01[Ô])

[ô] Aqui, configuro como vou preencher meu ListView e ListBox - LB = ListBox, LV = ListView;
Dim Linha As Integer
For Linha = 0 To Ds.Tables([Ô]data01[Ô]).Rows.Count - 1
[ô] Setando preenchimento da minha ListBox:
LB1.Items.Add(Ds.Tables([Ô]data01[Ô]).Rows(Linha)([Ô]ID[Ô]) & vbTab & (Ds.Tables([Ô]data01[Ô]).Rows(Linha)([Ô]Nome[Ô]) & vbTab & (Ds.Tables([Ô]data01[Ô]).Rows(Linha)([Ô]Endereco[Ô]) & vbTab & (Ds.Tables([Ô]data01[Ô]).Rows(Linha)([Ô]Cidade[Ô])))))
[ô] Setando preenchimento do meu ListView:
LV1.Items.Add(Ds.Tables([Ô]data01[Ô]).Rows(Linha)([Ô]ID[Ô])) [ô]Aqui preencho a primeira linha do ListView;
LV1.Items(Linha).SubItems.Add(Ds.Tables([Ô]data01[Ô]).Rows(Linha)([Ô]Nome[Ô])) [ô] Daqui adiante tudo é subítens;
LV1.Items(Linha).SubItems.Add(Ds.Tables([Ô]data01[Ô]).Rows(Linha)([Ô]Endereco[Ô]))
LV1.Items(Linha).SubItems.Add(Ds.Tables([Ô]data01[Ô]).Rows(Linha)([Ô]Cidade[Ô]))
Next
[ô] Lembrando que [Ô]data01[Ô] é o nome de minha [Ô]TABELA[Ô] no SQLCE, e [Ô]ID, Nome, Endereco e Cidade[Ô], são [Ô]COLUNAS[Ô] desta tabela.
End Sub


Obrigado pela força pessoal !
Tópico encerrado , respostas não são mais permitidas