none
error con grid view RRS feed

  • Pregunta

  • un cordial saludo

    tengo el siguiente problema

    estoy leyendo datos de una grid view para con esos datos crear un archivo plano

    estoy haciendo la prueba con tres registros pero cuando termina el tercero me muestra este error  El índice estaba fuera del intervalo. Debe ser un valor no negativo e inferior al tamaño de la colección. 

    y la verdad no se como solucionarlo

    si me pueden ayudar muchas gracias


    miércoles, 14 de enero de 2015 15:18

Respuestas

  • hola

    porque mejor no usas

    For Each row As GridViewRow In GridView1.Rows
    
                SqlCN = New SqlConnection(My.Settings.DBUNOEE)
                SqlCN2 = New SqlConnection(My.Settings.DBUNOEE)
                RegData = row.Cells(index).Text
    
    Next
    de esta forma recorres las rows directamente

    lo que no veo correcto es que la conexion la debas definir dentro del for, esta deben ir por fuera

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 14 de enero de 2015 16:29

Todas las respuestas

  • Si nos dejas ver el código que utilizas sería más fácil localizar el error.

    El error más típico en estos casos es el de tratar de utilizar un índice con base 1 (con valores de 1 a 3) en lugar de con base 0 (con valores de 0 a 2) para recorrer los registros.

    miércoles, 14 de enero de 2015 15:38
  •  

    este es la parte del codigo que muestra error

    For I = 0 To  GridView1.Rows.Count
                SqlCN = New SqlConnection(My.Settings.DBUNOEE)
                SqlCN2 = New SqlConnection(My.Settings.DBUNOEE)
                RegData = GridView1.Rows(I)

    regdata es la funcion que almacena para pasar al archivo plano

    miércoles, 14 de enero de 2015 15:49
  • Según este código el bucle te va a recorrer las filas con índices desde 0 (la primera) a 3 (GridView1.Rows.Count) que no existe. Por eso te genera el error.

    Cámbialo por:

    For I = 0 To  GridView1.Rows.Count - 1

    • Marcado como respuesta duvan ospina miércoles, 14 de enero de 2015 16:11
    • Desmarcado como respuesta duvan ospina miércoles, 14 de enero de 2015 16:12
    miércoles, 14 de enero de 2015 16:03
  • hola

    porque mejor no usas

    For Each row As GridViewRow In GridView1.Rows
    
                SqlCN = New SqlConnection(My.Settings.DBUNOEE)
                SqlCN2 = New SqlConnection(My.Settings.DBUNOEE)
                RegData = row.Cells(index).Text
    
    Next
    de esta forma recorres las rows directamente

    lo que no veo correcto es que la conexion la debas definir dentro del for, esta deben ir por fuera

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 14 de enero de 2015 16:29
  • muchas gracias me sirvio tu respuesta

    miércoles, 14 de enero de 2015 17:13
  • listo voy a anlizar

    te agradesco mucho

    miércoles, 14 de enero de 2015 17:16
  • esta respuesta me sirvio muchas gracias
    jueves, 15 de enero de 2015 14:03