TROCA DE INFORMACOES DO TEXTBOX/DATAGRIDVIEW

MOUSER 03/03/2014 16:45:21
#435470
Minha duvida é bem simples, é que estou desenvolvendo este projeto para uma loja pequena, e não consigo jogar o q esta na textbox da janela provshop para a janela Pesquisar Produto, e o contrario no caso da DataGridView (DGV). Não consigo jogar o item selecionado na DGV do form Pesquisar Produto para o DGV da ProvShop, se alguém puder me auxiliar de como fazer isso e me explicar como funciona o comando eu agradeço.
NILSONTRES 03/03/2014 17:39:51
#435472
Resposta escolhida
no cellclick do GRID_D
With GRID_C
.Rows.Add()
.Rows(.Rows.Count - 1).Cells(0).Value = GRID_D.Rows(e.RowIndex).Cells(0).Value

End With

Isso Funciona, mas olha existe tantas armadilhas para que seu sistema gere um erro monstro, que vc nem imagina.
Nesse caso ai mesmo, o recomendado é não transferir diretamente esses dados de um grid para o outro, isso se vc estiver em um sistema multi usuário, que acredito seja 99,99 dos casos.
Imagine que essa tela foi aberta por um usuario, ele deixa ela aberta por algum minutos, ou segundos, e outro usuario em outra maquina, edita um desses produtos carregados, preço etc.

quando vc clicar , já tera um dado errado.
Então o recomendado é identificar o valor que esta sendo clicado , fazer uma seleção no banco e ai sim atraves dessa seleção carrega o outro grid.
Isso é um pequeno detalhe de problemas em sistemas multi usuarios.
Não foi isso que vc perguntou, mas vai a dica.
MOUSER 03/03/2014 18:42:36
#435475
Apareceu o seguinte erro no momento q iria transferir de uma dgv a outra: No row can be added to a DataGridView control that does not have columns. Columns must be added first. que traduzindo ao pé da letra: Nenhuma linha pode ser adicionado a uma DataGridViewcontrole que não tem colunas. As colunas devem ser adicionados primeiro. Ali onde é dgv_CellContentClick na verdade é o dgvProd e o do painel é o dgv comum... como descrito na imagem...
NILSONTRES 03/03/2014 18:56:47
#435478
VC Não adicionou colunas no seu datagrid.
e o evento é CellClick
MOUSER 03/03/2014 19:18:57
#435479
Mas as colunas dentro da DGV? é q os itens q ele pesquisa esta contida em um banco de dados, ele tem q pegar este item e jogar para a outra... Após eu ter postado eu havia corrigido este detalhe q percebi depois da postagem, mas mesmo assim continuou com o erro... no caso teria como salvar o codigo do cadastro e jogar este codigo na hora de apresentar no DGV, buscar este codigo no banco de dados novamente?
MOUSER 04/03/2014 15:57:45
#435510
Olha, eu reformulei o código do inicio ao fim, consegui resolver uma parte, mas ele só está adicionando 1 produto, sendo q deveria adicionar varios, mas não todos, um de cada vez...
o código ficou mais ou menos assim:

Public Sub CarregaGrid()
Dim Cli As String
[ô]Dim Ver As String
Dim Agenda As New clnProvShopProd

[ô]dgv.DataSource = Agenda.Lista(Me.txtDescricao.Text).Tables(0)
Cli = CStr(lblvariavel.Text)
dgv.DataSource = Agenda.ListaCod(Cli).Tables(0)
dgv.AutoResizeColumns()
dgv.Columns(0).HeaderText = CStr([Ô]Código[Ô])
dgv.Columns(2).HeaderText = CStr([Ô]Valor[Ô])
If CInt(dgv.RowCount) = 0 Then
Me.btnVenda.Enabled = False
Me.btnCadastro.Enabled = False
Me.btnCancelar.Enabled = False
MsgBox([Ô]Não foram encontrado dados com a informação:[Ô] & txtDescricao.Text, MsgBoxStyle.Critical, [Ô]>>VERIFICAR<<[Ô])
dgv.DataSource = Nothing
Me.txtDescricao.Text = [Ô][Ô]
Me.txtDescricao.Focus()
Else
Me.btnVenda.Enabled = True
Me.btnCadastro.Enabled = True
Me.btnCancelar.Enabled = True
End If
Dim total As Double
For Each col As DataGridViewRow In dgv.Rows
total += col.Cells([Ô]Preco[Ô]).Value
Next
txtTotal.Text = total
txtTotal.Text = FormatNumber(txtTotal.Text)
End Sub

O da outra janela o carregamento dos produtos ficou mais ou menos assim:

Private Sub dgvProd_CellClick(sender As Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvProd.CellClick
Dim Produto As String
Dim Cod As String
Dim agenda As New clnProvShopProd
Dim drDados As System.Data.SqlClient.SqlDataReader
Cod = CStr(dgvProd.CurrentRow.Cells(0).Value)
drDados = agenda.ListarUsuario(Cod)
If drDados.Read Then
Produto = CStr(drDados([Ô]Produto[Ô]))
MsgBox([Ô]Deseja selecionar o Produto: [Ô] & Produto, MsgBoxStyle.YesNo)

If Windows.Forms.DialogResult.Yes Then
frmProvShop.lblvariavel.Text = Cod
frmProvShop.CarregaGrid()
Me.Close()
Else
MsgBox([Ô]Operação cancelada[Ô])
End If

End If
End Sub

Atravez destes codigos acima é possivel ir armazenando e adicionando mais produtos e mantendo o item ja adicionado na tabela?
OBS: A label (lbl) ela não aparece na janela, só coloquei ela para puxar a variável de uma janela para a outra e assim fazer a pesquisa...
MOUSER 05/03/2014 11:18:38
#435530
Para auxiliar naquilo q pretendo fazer, tirei alguns prints de um sistema q achei na internet, mas com o código criptografado. Separei em 3 partes e comentei na imagem os itens e o q pretendo fazer, os de preto são textbox. Esse sistema q consegui, foi integrado a uma tabela q baixei no mesmo site fornecido por um colega q pediu sigilo nas informações contidas tanto do sistema quanto do site. Esta primeira parte é para identificar como esta a janela comparando com o q eu pretendo fazer...
MOUSER 05/03/2014 11:21:04
#435531
nesta parte 2, o meu sistema esta executando normalmente... Só q na hora de finalizar q esta dando erro... Quando eu estiver acesso a maquina a qual estou desenvolvendo estarei postando a imagem do meu projeto como ele esta executando...
MOUSER 05/03/2014 11:26:10
#435533
é bem nesta parte que meu sistema da problema, em vez dele adicionar o novo produto e manter o q já esta na DGV e adicionar um novo, junto com o antigo, ele elimina o q esta na DGV e adiciona o item da ultima pesquisa...
Página 1 de 2 [12 registro(s)]
Tópico encerrado , respostas não são mais permitidas