estou com alguns probleminhas com o DataGridView e preciso de ajuda.
1) Toda vez que abro a DataGridView ela vem sempra com a ultima linha toda em branco e não é possivel deletá-la.
Mas, quandovou gravar no banco, eesa linha grava no banco uma linha cpom todos os valores em branco.
Como retirar essa linha em branco?
2) Bom, minha DataGridView está ligada ao banco mysql atraves de datasource, e toda vez que vou alterar um peido e inserir um novo item de pedido no formulario de pedido na DataGridView ,da erro:
"O índice estava fora do intervalo. Ele deve ser não-negativo e menor que o tamanho da coleção. Nome do parâmetro: index"
Como resolver isso?
veja o codigo que estou usando:
Dim O as integer = 0
Private Sub Incluir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Incluir.Click
'a propriedade SelectionMode deve ser igual a FullRowSelect para deletar linhas
If cliente.Text = String.Empty Then
MsgBox("Escolha o clientes...")
bcliente_Click(Nothing, Nothing)
Exit Sub
ElseIf produto.Text = String.Empty Then
MsgBox("Escolha o produto.")
bproduto_Click(Nothing, Nothing)
Exit Sub
ElseIf qtde.Text = String.Empty Then
MsgBox("Informe a quantidade requerida...")
qtde.Focus()
Exit Sub
End If
Dim O As Integer = DGWPedidos.Rows.Count
DGWPedidos.Rows(O).Cells(1).Value = dr("pedidoID")
DGWPedidos.Rows(O).Cells(1).Value = registroproduto
DGWPedidos.Rows(O).Cells(2).Value = unidade.Text
DGWPedidos.Rows(O).Cells(3).Value = produto.Text
DGWPedidos.Rows(O).Cells(4).Value = preço.Text
DGWPedidos.Rows(O).Cells(5).Value = Convert.ToInt32(qtde.Text)
DGWPedidos.Rows(O).Cells(6).Value = preço.Text * Convert.ToInt32(qtde.Text)
O = +O
total.Text = 0.0
For Each linha As DataGridViewRow In DGWPedidos.Rows
total.Text += linha.Cells(6).Value
' total.Text = Format(total.Text, "#,##0.00")
Next linha
End Sub
não sei se o procedimento é esse
3) Outro problema e que,quando acabo de gravar um novo registro, recebo a mensagem "Pedido Gravado com sucesso", dai, cliko novamente em Novo Pedido, preencho normalmente os dados do pedido inclusive a DataGridView mas, quando vou gravar no banco, grava o pedido mas da erro de indice na hora de gravar os ítens.
Eis o cdódigo que uso nma hora na gravação:
Private Sub incluirRegistro(ByVal dr As DataRow)
Dim sqlpedidos As String = "INSERT INTO " & TabelaPedidos & " (clienteID,ativo,data)VALUES ('" & codigocli.Text & "','S','" & Format(Date.Today, "yyyy-MM-dd") & "')"
Dim ds_pedidos As DataSet = accDb.ExecuteDS(sqlpedidos, TabelaPedidos)
For Each linha As DataGridViewRow In DGWPedidos.Rows
Dim sqlitens As String = "INSERT INTO " & TabelaDetalhesPedidos & " (pedidoID,produtoID,unidade,descricao,preço,quantidade,subtotal) VALUES ('" & DGWPedidos.Rows(I).Cells(0).Value & "','" & DGWPedidos.Rows(I).Cells(1).Value & "','" & DGWPedidos.Rows(I).Cells(2).Value & "','" & DGWPedidos.Rows(I).Cells(3).Value & "','" & DGWPedidos.Rows(I).Cells(4).Value & "','" & DGWPedidos.Rows(I).Cells(5).Value & "','" & DGWPedidos.Rows(I).Cells(6).Value & "')"
accDb.ExecuteDS(sqlitens, tabeladetalhespedidos)
I = I + 1
Next linha
Try
MessageBox.Show("Pedidos incluido com sucesso.")
CarregaPagina()
Catch ex As Exception
MessageBox.Show("Erro ao efetuar a conexão com a base de dados : " + ex.Message)
End Try
End Sub
Pergunta
Carlos Rocha
olá
estou com alguns probleminhas com o DataGridView e preciso de ajuda.
1) Toda vez que abro a DataGridView ela vem sempra com a ultima linha toda em branco e não é possivel deletá-la.
Mas, quandovou gravar no banco, eesa linha grava no banco uma linha cpom todos os valores em branco.
Como retirar essa linha em branco?
2) Bom, minha DataGridView está ligada ao banco mysql atraves de datasource, e toda vez que vou alterar um peido e inserir um novo item de pedido no formulario de pedido na DataGridView ,da erro:
"O índice estava fora do intervalo. Ele deve ser não-negativo e menor que o tamanho da coleção. Nome do parâmetro: index"
Como resolver isso?
veja o codigo que estou usando:
não sei se o procedimento é esse 3) Outro problema e que,quando acabo de gravar um novo registro, recebo a mensagem "Pedido Gravado com sucesso", dai, cliko novamente em Novo Pedido, preencho normalmente os dados do pedido inclusive a DataGridView mas, quando vou gravar no banco, grava o pedido mas da erro de indice na hora de gravar os ítens. Eis o cdódigo que uso nma hora na gravação:03 problemas com gridview e gravação
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.