DATAGRIDVIEW PARA LISTVIEW
Olá pessoal, bom dia... minha dúvida é o seguinte, eu quero passar os dados de um Datagridview para um Listview porém de uma maneira diferente... segue uma foto do projeto para ficar melhor a explicação:
Como na foto de exemplo quando eu procuro o item eles são listados no Datagridview, após eu dar dois cliques na linha do item que eu desejo, alguns dos dados são passados para os textbox abaixo, assim eu só preciso digitar a quantidade de item e mudar o valor se necessário e clicar em inserir produto para jogar os dados para o listview abaixo, agora a dúvida que procurei e não achei nada referente, como que eu faço para cada vez que eu clicar nesse botão [Ô]Inserir Produto[Ô] ele pegar esses dados do textbox e jogar em cada campo certo do listview? Lembrando que vão ser varios produtos no listview antes de clicar no Gerar Impressão, para finalizar a explicação do que eu realmente quero fazer:
[Ô]Cada vez que clicar no botão [Ô]Inserir Produto[Ô] ele vai pegar os resultados que estão no textbox e jogar no listview em cada coluna e na sequencia ja ir jogando nas outras linhas.[Ô]
Eu pesquisei e achei outros meios,porém nenhum deu certo para essa ideia que eu preciso ;s
Agradecendo desde já a ajuda de vocês!!
Como na foto de exemplo quando eu procuro o item eles são listados no Datagridview, após eu dar dois cliques na linha do item que eu desejo, alguns dos dados são passados para os textbox abaixo, assim eu só preciso digitar a quantidade de item e mudar o valor se necessário e clicar em inserir produto para jogar os dados para o listview abaixo, agora a dúvida que procurei e não achei nada referente, como que eu faço para cada vez que eu clicar nesse botão [Ô]Inserir Produto[Ô] ele pegar esses dados do textbox e jogar em cada campo certo do listview? Lembrando que vão ser varios produtos no listview antes de clicar no Gerar Impressão, para finalizar a explicação do que eu realmente quero fazer:
[Ô]Cada vez que clicar no botão [Ô]Inserir Produto[Ô] ele vai pegar os resultados que estão no textbox e jogar no listview em cada coluna e na sequencia ja ir jogando nas outras linhas.[Ô]
Eu pesquisei e achei outros meios,porém nenhum deu certo para essa ideia que eu preciso ;s
Agradecendo desde já a ajuda de vocês!!
Como está preenchendo o gridview? Vem de um DataTable?
O Grid é preenchido fazendo pesquisar em um banco de dados em DBF
Dim oConn As New OdbcConnection()
oConn.ConnectionString = [Ô]Driver={Microsoft dBase Driver (*.dbf)};SourceType=DBF;Exclusive=No; Collate=Machine;NULL=NO;DELETED=YES;BACKGROUNDFETCH=NO;[Ô]
oConn.Open()
Dim oCmd As OdbcCommand = oConn.CreateCommand()
oCmd.CommandText = [Ô]SELECT prod.prcodigo AS Código,prod.prdescri AS Descrição,prod.prvenda1 AS Preço,prod.prcusto AS Custo,prod.prunidad AS Unidade,prod.prtexto AS Texto FROM PR AS prod WHERE prod.prdescri LIKE[Ô] & [Ô][ô]%[Ô] & txtProdutoVenda.Text & [Ô]%[ô][Ô] & [Ô]ORDER BY prod.prdescri ASC[Ô]
Dim dt As New DataTable()
dt.Load(oCmd.ExecuteReader())
oConn.Close()
dtVenda.DataSource = dt
dtVenda.Columns([Ô]Preço[Ô]).DefaultCellStyle.Format = [Ô]c[Ô]
dtVenda.Columns([Ô]Custo[Ô]).DefaultCellStyle.Format = [Ô]c[Ô]
Pois é, como tinha dito, vem de um DataTable. Seria melhor fazer um DataReader, preenchendo uma lista de objetos, que posteriormente, podem ser trabalhados, incluindo para preencher o listview que é o que você precisa.
Hmm, por enquanto aprendi a mexer só dessa maneira, como seria o uso do DataReader e a idéia dele? Ai dou uma pesquisada aqui de como funciona.
O DataReader, é um objeto especializado em leitura, como o próprio nome diz. Você pode fazer a leitura do datareader e passar como fonte de dados para um grid normalmente, mas o ideal é que use os preceitos de POO, assim, ao invés de objetos de banco de dados preenchendo um grid, você vai ter entidades que podem ser buscadas e trabalhadas.
Hmm, tenho que pesquisar sobre tudo isso ae kk, usando essa simples função:
eu consigo preencher normal a primeira linha [Ô]row[Ô] do listview, porém quando vou por o segundo item, ele só add o código nas linhas seguintes, os subitems não :/
Private Sub btnInserir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInserir.Click
If maskQuantidade.Text = [Ô][Ô] Then
MsgBox([Ô]Campo quantidade vazio[Ô], MsgBoxStyle.Information, [Ô]Campo Vazio[Ô])
maskQuantidade.Focus()
Else
listaSelecionados.Items.Add(txtCodProduto.Text)
listaSelecionados.Items(0).SubItems.Add(txtDescri.Text).ToString()
listaSelecionados.Items(0).SubItems.Add(txtValor.Text).ToString()
listaSelecionados.Items(0).SubItems.Add(maskQuantidade.Text).ToString()
End If
End Sub
eu consigo preencher normal a primeira linha [Ô]row[Ô] do listview, porém quando vou por o segundo item, ele só add o código nas linhas seguintes, os subitems não :/
Tente assim;
Private Sub btnInserir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInserir.Click
If Trim(txtCodigo.Text) = [Ô][Ô] Then
MsgBox([Ô]Campo quantidade vazio[Ô], MsgBoxStyle.Information, [Ô]Campo Vazio[Ô])
txtCodigo.Focus()
Else
Dim item As New ListViewItem
item.Text = (txtCodProduto.Text)
item.SubItems.Add(txtDescri.Text).ToString()
item.SubItems.Add(txtValor.Text).ToString()
item.SubItems.Add(maskQuantidade.Text).ToString()
Me.listaSelecionados.Items.Add(item)
End If
End Sub
Private Sub btnInserir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInserir.Click
If Trim(txtCodigo.Text) = [Ô][Ô] Then
MsgBox([Ô]Campo quantidade vazio[Ô], MsgBoxStyle.Information, [Ô]Campo Vazio[Ô])
txtCodigo.Focus()
Else
Dim item As New ListViewItem
item.Text = (txtCodProduto.Text)
item.SubItems.Add(txtDescri.Text).ToString()
item.SubItems.Add(txtValor.Text).ToString()
item.SubItems.Add(maskQuantidade.Text).ToString()
Me.listaSelecionados.Items.Add(item)
End If
End Sub
OMAR2011 aproveitei essa semaninha para tirar uns dias de folga do trabalho rsrs, voltando a primeira coisa que vou tentar é essa sua dica, mas não entendi muito bem a lógica, você cria uma variável item como sendo uma nova listview? Desculpa é que não compreendo muito bem ainda sobre visual basic net.
OMAR2011, voltei e tentei o que você me disse e deu certo, era exatamente isso que eu queria *-*, só não compreendi muito bem a ideia!! Vou dar uma pesquisada depois sobre isso ae, mas era exatamente isso que eu estava precisando.
Tópico encerrado , respostas não são mais permitidas