Hola a todos quisieran que me pudieran ayudar sucede que cuando le doy click en un boton de un formulario no me permite guardar correctamente, los datos de una seleccion multiple de varias filas de un data grid, y me envia de error que tengo un valor null, y parece que no me carga bien el dgv, y solo me carga la primera fila, pero yo necesito que me cargue las filas seleccionadas, a continuacion escribo el codigo que tengo, y talvez me dicen donde puedo tener el error.
Private Sub tsEntregaMasiva_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsEntregaMasiva.Click
Try
Dim CodigoDocumentoDetalle As Integer
Dim CodigoEntrega As Integer
Dim Retorno As Integer = -1
Dim Mensaje As String = String.Empty
'Dim CadenaCodigo As String
Me.cEntrega = New clsEntrega()
Dim ResultadoCitacion As Integer = -1
Dim HoraEntrada As Date = Date.MinValue
Dim HoraSalida As Date = Date.MinValue
'CadenaCodigo = "13"
If Not IsNothing(Me.EntregaResultadoCitatoria.SelectedValue) _
Then ResultadoCitacion = CInt(Me.EntregaResultadoCitatoria.SelectedValue.ToString())
If Me.EntregaHoraEntrada.Checked Then HoraEntrada = Me.EntregaHoraEntrada.Value
If Me.EntregaHoraSalida.Checked Then HoraSalida = Me.EntregaHoraSalida.Value
'En esta parte es donde es que carga para la entrega masiva pero no se si tengo bien el codigo?
For Each dv As DataGridViewRow In Me.dgvDetalleDoc.SelectedRows
CodigoDocumentoDetalle = CInt(dv.Cells("CodigoDataGridViewTextBoxColumn1").Value)
Dim Vista As DataView = Me.DataSet_SIRDEC.Entrega.DefaultView()
Vista.RowFilter = "CodigoDetalleDoc=" & CodigoDocumentoDetalle.ToString()
CodigoEntrega = Vista.Item(0).Item("CodigoDetalleDoc").ToString()
If Not Me.cEntrega.Actualizar(CodigoEntrega, _
Me.EntregaFecha.Value, _
Me.EntregaRecibioPersona.Tag.ToString(), _
CInt(Me.EntregaRecibioEntidad.Tag.ToString()), _
CByte(Me.btnEntregaNotifica.Tag), _
CInt(Me.EntregaDiligencia.SelectedValue.ToString()), _
ResultadoCitacion, _
HoraEntrada, _
HoraSalida, _
Me.EntregaObservaciones.Text.Trim(), _
Retorno, _
Mensaje) Then
If Retorno < 0 Then ''Error durante la insercion SQL.
MessageBox.Show(Mensaje, Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Error) : Return
ElseIf Retorno = 916 Then
MessageBox.Show("El registro fue insertado en la base de datos." & Mensaje, Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Me.bsEntrega.EndEdit()
GoTo Salir
Else ''Error despues de la insercion SQL
MessageBox.Show(Mensaje, Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Me.bsEntrega.EndEdit()
GoTo Salir
End If
Else
Me.bsEntrega.EndEdit()
Me.DataSet_SIRDEC.Entrega.LoadDataRow(Me.cEntrega.RegistroAfectado, True)
End If
'MessageBox.Show(dv.Cells("CodigoDataGridViewTextBoxColumn1").Value & " " & Vista.Item(0).Item("CodigoDetalleDoc").ToString())
Next
GoTo Salir
Salir:
Me.Controles(Modulo.Entrega, False)
Me.ConfigurarNavegador(Modulo.Entrega, Navegador.Guardar)
Catch ex As Exception
End Try
End Sub
Bye, Bye,
Espero su pronto repuesta.
 |