Ver Mensaje Individual
  #5 (permalink)  
Antiguo 08/08/2013, 10:01
PatricioGalarzaR
 
Fecha de Ingreso: agosto-2013
Ubicación: Machala, El Oro, Ecuador
Mensajes: 7
Antigüedad: 10 años, 8 meses
Puntos: 0
Respuesta: Sumar registros repetidos de un datagridview en otro

HAS QUE POR FIN, YA FUNCIONO LE HICE UNOS CAMBIOS AL RECORRIDO CAMBIE LOS 'FOR EACH' POR UN 'FOR' NORMAL PARA PODER HACER MEJOR EL SEGUIMIENTO Y ME DI CUENTA QUE AL AGREGAR LA NUEVA FILA AL DGV DE ORDEN DE COMPRA TENIA 6 COLUMNAS Y ESTABA ENVIANDO 5 PARÁMETROS POR ESO NO ACUMULABA PORQUE LA CANTIDAD LA COLUMNA ESTABA VACIA.... COSAS QUE PASAN

AQUÍ PONGO EL CÓDIGO DE COMO ME FUNCIONO:

Código vb:
Ver original
  1. Try
  2.             ' SE CARGA EL PRIMER DATAGRIDVIEW
  3.            dgvDetalleRequisicionPS.DataSource = objetoOrdenCompra.buscarDetalleRequisicionProductoServicioXIdProveedor(lblIdProveedorGeneral.Text)
  4.             'RECORRE EL DATAGRIDVIEW CARGADO ANTERIORMENTE
  5.            For indice = 0 To dgvDetalleRequisicionPS.RowCount - 1
  6.                 Dim Añadir As Boolean = True
  7.                 'RECORRE EL DATAGRIDVIEW QUE SE VA A LLENAR
  8.                For indiceOrden = 0 To dgvDetalleOrdenCompra.RowCount - 2
  9.                     'PREGUNTA SI LOS ITEMS SON IGUALES, PARA VER SI YA HA SIDO AGREGADO
  10.                    If dgvDetalleOrdenCompra.Rows(indiceOrden).Cells("idItem").Value = dgvDetalleRequisicionPS.Rows(indice).Cells("ID_SECUENCIAL_ITEM").Value Then
  11.                     'SI YA HA SIDO AGREGADO ACUMULA LAS CANTIDADES                        
  12. dgvDetalleOrdenCompra.Rows(indiceOrden).Cells("cantidadProductoServicio").Value = CType(dgvDetalleOrdenCompra.Rows(indiceOrden).Cells("cantidadProductoServicio").Value, Integer) + CType(dgvDetalleRequisicionPS.Rows(indice).Cells("CANTIDAD").Value, Integer)
  13.                         'SE CAMBIA EL VALOR DE "AÑADIR" PARA QUE NO AGREGUE NUEVA FILA
  14.                        Añadir = False
  15.                     End If
  16.                 Next
  17.                 'SI "AÑADIR" ES VERDADERO NO HUBO COINCIDENCIAS Y AGREGA NUEVA FILA
  18.                If Añadir = True Then
  19.                     'CREA LA NUEVA FILA
  20.                    dgvDetalleOrdenCompra.Rows.Add()
  21.                     'SE AGREGA VALORES SOLO A LAS COLUMNAS QUE NECESITAMOS DE LA NUEVA FILA
  22.                    dgvDetalleOrdenCompra.Rows(indice).Cells(0).Value = dgvDetalleRequisicionPS.Rows(indice).Cells("ID_SECUENCIAL_ITEM").Value.ToString
  23. 'ESTE PASO ES PROPIO DE LAS NECESIDADES DEL FORMULARIO SE PUEDE ENVIAR UN VALOR DIRECTO PERO QUI SE ENVIA EL VALOR DEL ID_ITEM PAR QUE ME DEVUELVA EL NOMBRE_ITEM
  24.                    objetoSecuencialItem.buscarNombreSecuencialItemXIdSecuencialItem(dgvDetalleOrdenCompra.Rows(indice).Cells(0).Value)
  25.                     dgvDetalleOrdenCompra.Rows(indice).Cells(1).Value = objetoSecuencialItem.nombreSecuencial
  26.                     dgvDetalleOrdenCompra.Rows(indice).Cells(2).Value = dgvDetalleRequisicionPS.Rows(indice).Cells("UMEDIDA_DETALLE_REQUISICION_PS").Value.ToString
  27.                     dgvDetalleOrdenCompra.Rows(indice).Cells(3).Value = dgvDetalleRequisicionPS.Rows(indice).Cells("CANTIDAD").Value
  28.                 End If
  29.             Next
  30.         Catch ex As Exception
  31.             MsgBox("CARGAR DETALLE ORDEN DE COMPRA." & vbNewLine & ex.Message.ToString, MsgBoxStyle.Critical, "MENSAJE DE EXCEPCIÓN")
  32.         End Try