Ver Mensaje Individual
  #3 (permalink)  
Antiguo 21/11/2013, 11:28
caciro
 
Fecha de Ingreso: noviembre-2013
Mensajes: 3
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: Como sumar fila en un dataGridView

Cita:
Iniciado por panterozo Ver Mensaje
"al seleccionar un producto por cualquiera de los textbox"... esto no lo entiendo... Pero pienso, que lo que quieres es de javascript, lo de añadir (sumar) nuevos productos.

Si pones el código HTML sería más claro lo que deseas hacer

Saludos!
Gracias panterozo...,lo de seleccionar el producto se debe a que puede ser que un producto no tenga código de barra entonces tendría la opción de buscarlo por su id...por eso creo que debo generar dos métodos de búsqueda con dos textbox uno para código de barra y el otro por código de producto. lo que tu mencionas de javascript no le usado , solo he tratado de hacerlo por lenguaje Visualbasic.net...

acá dejo el código....cualquier recomendación se los agradecería...

Private Sub txtCodBarra_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtCodBarra.KeyPress


'ACA NO HE PODIDO LOGRAR QUE LO SUME, COMO VERAS TENGO EL MISMO CODIGO QUE TENGO MÁS ABAJO, TRATE CON OTRAS FORMAS Y NO HE PODIDO HACERLO,
..ACA SIGUE SUMANDO FILAS EN EL GRID AUNQUE EL DATO
'SEA EL MISMO....Y LO QUE NECESITO ES QUE EN LA COLUMNA CANTIDAD SE VAYAN SUMANDO....


Try
If (e.KeyChar = CChar(ChrW(13))) Then

Dim cmd As New SqlCommand("mostrar_producto", conex)
cmd.CommandType = CommandType.StoredProcedure
conex.Open()
Dim dato As New SqlParameter("@codigo", SqlDbType.VarChar)
dato.Value = txtCodBarra.Text
cmd.Parameters.Add(dato)
Dim da As New SqlDataAdapter
da.SelectCommand = cmd
da.SelectCommand.Connection = conex
Dim ds As New DataSet
da.Fill(ds, "producto")
conex.Close()
For Each linea As DataGridViewRow In DataListaVentas.Rows
If (linea.Cells(0).Value) = Convert.ToInt64(txtCodBarra.Text) Then
linea.Selected = True
End If
Next
Dim row As DataGridViewRow = DataListaVentas.Rows.Cast(Of DataGridViewRow).FirstOrDefault(Function(x) CInt(x.Cells("codigo").Value) = Convert.ToInt64(txtCodBarra.Text))

If row IsNot Nothing Then
row.Cells("cantidad").Value = CInt(row.Cells("cantidad").Value) + 1
Else
DataListaVentas.Rows.Add(ds.Tables(0).Rows(0).Item (0), "" & (ds.Tables(0).Rows(0).Item(1)), "" _
& (ds.Tables(0).Rows(0).Item(2)), "" & (ds.Tables(0).Rows(0).Item(3)), "" _
& (ds.Tables(0).Rows(0).Item(4)), "" & (ds.Tables(0).Rows(0).Item(5)))

lblNeto.Text = "$ " & ds.Tables(0).Rows(0).Item(2)
lblIva.Text = "$ " & ds.Tables(0).Rows(0).Item(3)
lblTotal.Text = "$ " & ds.Tables(0).Rows(0).Item(4)
'txtCodBarra.Focus()
txtCodBarra.Clear()
End If
End If
Catch ex As Exception
MsgBox(ex.Message)
txtCodBarra.Text = ""
conex.Close()

End Try

'txtCodBarra.Focus()
End Sub