none
ERROR AL CARGAR RRS feed

  • Pregunta

  • Hola tengo el un problema y queria saber si me podian ayudar tengo combox que al seleccionar un item me debe cargar el monto en el texbox

    el probles cuando selecciono un item que no tiene monto este el codigo que uso para esa funcion

    me manda un error que dice : Excepción no controlada del tipo 'System.IndexOutOfRangeException' en System.Data.dll

     No hay ninguna fila en la posición 0.

       Dim dt As DataTable
            dt = Deduccion.Paypal(cmb_deuda1.EditValue)
            If Me.cmb_deuda1.EditValue IsNot Nothing Then
                Dim row As DataRow = Me.cmb_deuda1.Properties.View.GetDataRow(Me.cmb_deuda1.Properties.View.FocusedRowHandle)
                If row IsNot Nothing Then
                   
                    If row.Item("id_deuda") Then
                        TxtMonto.Text = dt.Rows(0).Item("Total")
                    End If
                  
                End If
                End If
    Ayuda gracias por su tiempo
                           
    martes, 4 de octubre de 2016 19:48

Respuestas

  • Hola DOSA_INFORMATICA,

    No tendrías que usar el row que obtienes ?

       Dim row As DataRow = Me.cmb_deuda1.Properties.View.GetDataRow(Me......
    
       If row IsNot Nothing Then
           TxtMonto.Text = row.Item("Total")
        End If

    O si vas a usar el dt :

       If row IsNot Nothing Then
        'Validar que tenga filas
             If dt.Rows.Count > 0 Then
                   TxtMonto.Text = dt.Rows(0).Item("Total")
               End If
        End If

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    martes, 4 de octubre de 2016 20:24

Todas las respuestas

  • Hola DOSA_INFORMATICA,

    No tendrías que usar el row que obtienes ?

       Dim row As DataRow = Me.cmb_deuda1.Properties.View.GetDataRow(Me......
    
       If row IsNot Nothing Then
           TxtMonto.Text = row.Item("Total")
        End If

    O si vas a usar el dt :

       If row IsNot Nothing Then
        'Validar que tenga filas
             If dt.Rows.Count > 0 Then
                   TxtMonto.Text = dt.Rows(0).Item("Total")
               End If
        End If

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    martes, 4 de octubre de 2016 20:24
  • Gracias Joel de verdad te lo agradesco

    Ayudame con este :Como guardar el color De una Columna de un gridView(DevExpress) y Visual Studio

    martes, 4 de octubre de 2016 20:41
  • Joel cuando seleciono el item anterior me cargado el dato y no me limpia

    martes, 4 de octubre de 2016 21:01
  • Porque no me entra al /b ELSE/b

     If row IsNot Nothing Then
                    If dt.Rows.Count > 0 Then
                        If row.Item("id_deuda") Then
                            TxtMonto.Text = dt.Rows(0).Item("Total")
                        Else
                            TxtMonto.Text = dt.Rows(0).Item("Total") = 0
                            End If
                        End If
                    End If

    el primer es si hay datos me lo ponga en el texbox y el segundo es si no hay dato me ponga 

    pero no pasa al else

    martes, 4 de octubre de 2016 21:06
  • Hola DOSA_INFORMATICA,

    Qué validación debe cumplir para entrar el if ?

    Por ejemplo :

         If Row.Item("id_deuda") IsNot Nothing Then
                TxtMonto.Text = dt.Rows(0).Item("Total")
          Else
              TxtMonto.Text = 0
          End If

    En el ejemplo si no es nulo entra al if, y si lo es entra al else. En el código :

      If Row.Item("id_deuda") Then
       ....

    Nunca validas nada.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    martes, 4 de octubre de 2016 21:42
  • asi lo resolvi:

     If Me.cmb_deuda1.EditValue IsNot Nothing Then
                Dim row As DataRow = Me.cmb_deuda1.Properties.View.GetDataRow(Me.cmb_deuda1.Properties.View.FocusedRowHandle)

                If row IsNot Nothing Then
                    If dt.Rows.Count > 0 Then
                        If row.Item("id_deuda") = row.Item("id_deuda") Then
                            TxtMonto.Text = dt.Rows(0).Item("Total")

                        End If
                    Else
                        TxtMonto.Text = 0
                    End If
                End If
            End If

    miércoles, 5 de octubre de 2016 14:09
  • DOSA_INFORMATICA,

    ¿Qué intentas validar con la siguiente instrucción?

    If row.Item("id_deuda") = row.Item("id_deuda") Then


    Es como si hicieras lo siguiente:

    If 1 = 1 Then


    No tiene sentido la validación que implementas, debes omitir la evaluación:

    If row IsNot Nothing Then
    	If dt.Rows.Count > 0 Then
    		TxtMonto.Text = dt.Rows(0).Item("Total")
    	Else
    		TxtMonto.Text = 0
    	End If
    End If



    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.

    miércoles, 5 de octubre de 2016 14:28