Foros del Web » Programación para mayores de 30 ;) » .NET »

Index was outside the bounds of the array

Estas en el tema de Index was outside the bounds of the array en el foro de .NET en Foros del Web. Tengo un dropdownlist con n valores,el cual necesito me muestre esos n valores en diferentes textbox y me marca el siguiente error. Index was outside ...
  #1 (permalink)  
Antiguo 15/05/2012, 13:20
 
Fecha de Ingreso: junio-2011
Mensajes: 329
Antigüedad: 12 años, 10 meses
Puntos: 2
Index was outside the bounds of the array

Tengo un dropdownlist con n valores,el cual necesito me muestre esos n valores en diferentes textbox y me marca el siguiente error.

Index was outside the bounds of the array

..tengo el siguiente codigo

If DropDownList1.SelectedItem IsNot Nothing Then
Dim Item As [String] = DropDownList1.SelectedItem.Text
Dim Segments As [String]() = Item.Split("-"c)

TextBox1.Text = Segments(0).Trim()
TextBox2.Text = Segments(1).Trim()
TextBox3.Text = Segments(2).Trim()
TextBox4.Text = Segments(3).Trim()
TextBox5.Text = Segments(4).Trim()
TextBox6.Text = Segments(5).Trim()
End If

alguien me puede ayudar con esto..?
  #2 (permalink)  
Antiguo 16/05/2012, 15:17
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Index was outside the bounds of the array

ese error es porque estas mandandole un indice que no existe en el array. Verifica que al hacerle split obtengas los 6 parametros que le estas pasando. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #3 (permalink)  
Antiguo 16/05/2012, 16:14
 
Fecha de Ingreso: junio-2011
Mensajes: 329
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: Index was outside the bounds of the array

"ese error es porque estas mandandole un indice que no existe en el array. Verifica que al hacerle split obtengas los 6 parametros que le estas pasando. "


Tengo un dropdown list donde estan los 6 registros q necesito redireccioanar al textbox...a que te refieres con obtener los 6 parametros..?

If DropDownList1.SelectedItem IsNot Nothing Then
Dim Item As [String] = DropDownList1.SelectedItem.Text
Dim Segments As [String]() = Item.Split("-"c)

TextBox1.Text = Segments(0).Trim()
TextBox2.Text = Segments(1).Trim()
TextBox3.Text = Segments(2).Trim()
TextBox4.Text = Segments(3).Trim()
TextBox5.Text = Segments(4).Trim()
TextBox6.Text = Segments(5).Trim()
TextBox6.Text = Segments(6).Trim()
End If
  #4 (permalink)  
Antiguo 16/05/2012, 16:57
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 14 años, 2 meses
Puntos: 37
Respuesta: Index was outside the bounds of the array

A lo que se refiere Aquaventus es que verifiques la cantidad de registros que te regresó el Split y guardaste en Segments, estas desplegando indices del 0-6 checa cuantos valores tienes en el array Segments.
__________________
http://ka0stj.wordpress.com/
  #5 (permalink)  
Antiguo 16/05/2012, 17:29
 
Fecha de Ingreso: junio-2011
Mensajes: 329
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: Index was outside the bounds of the array

"checa cuantos valores tienes en el array Segments."

crees q falte inicializar el array.?..por que ese es todo el codigo que tengo, y los valores que estan ahi es todo lo que esta declarado. Me podrias indicar con codigo como quedaria...Saludos y gracias por tu respuesta.
  #6 (permalink)  
Antiguo 17/05/2012, 07:32
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Index was outside the bounds of the array

Hola mrprogman, lo que Ka0stj y yo tratamos de decirte es que hagas un seguimiento a tu código y verifiques que cuando al momento de hacer split éste te genere los 7 items que le agregas al array. Porque puede que no te esté generando 7 sino 6 y al hacerle el
Código vb:
Ver original
  1. TextBox6.Text = Segments(6).Trim()
no exista la posición "6" y por ello el error.
Porque sin duda Index was outside the bounds of the array es un error de indice dentro de un array que no existe. Te pongo este ejemplo :

Yo tengo una cadena llamada "Hola-soy-Aquaventus-Bienvenido-a-ForosdelWeb"
y a este le hago el split obteniendo :
Array[0] = "Hola"
Array[1] = "soy"
Array[2] = "Aquaventus"
Array[3] = "Bienvenido"
Array[4] = "a"
Array[5] = "ForosdelWeb"

Obteniendo 6 items, y puede que por aqui te hayas confundido al pensar que teniendo 6 items el array tuvo que tener el indice "6" haciendo esto :
Código vb:
Ver original
  1. MiTextbox.Text = Array(6).Trim()
Cuando en realidad en indice "6" no existe en el array porque el array comienza desde "0", lo cual te atrasa 1 llegando hasta "5".

Y viendo la ultima linea de tu codigo repites esto :
Código vb:
Ver original
  1. TextBox6.Text = Segments(5).Trim()
  2. TextBox6.Text = Segments(6).Trim()
A dos textbox6 le pasas 2 parametros "chancando" el valor inicial. El error radica en esa ultima linea de más, trata de verificar eso. Espero haya solucionado tu problema. Saludos!
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net

Última edición por Aquaventus; 17/05/2012 a las 07:45
  #7 (permalink)  
Antiguo 17/05/2012, 10:25
 
Fecha de Ingreso: junio-2011
Mensajes: 329
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: Index was outside the bounds of the array

el error me lo esta marcando en la 2da fila, en el textbox2.text, lo de los texbox6.text es un error de dedo....alguna otra idea..?..gracias por las respuestas
  #8 (permalink)  
Antiguo 17/05/2012, 10:27
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Index was outside the bounds of the array

Podrías por favor ponernos la cadena a la cual le haces el split?. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #9 (permalink)  
Antiguo 17/05/2012, 10:55
 
Fecha de Ingreso: junio-2011
Mensajes: 329
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: Index was outside the bounds of the array

La cadena..?...el codigo que tengo ahi es todo lo que uso..si te refieres a como lleno el dropdownlist los datos los agregue con la opcion edit items/add

If DropDownList1.SelectedItem IsNot Nothing Then
Dim Item As [String] = DropDownList1.SelectedItem.Text

Dim Segments As [String]() = Item.Split("-"c)

TextBox1.Text = Segments(0).Trim()
TextBox2.Text = Segments(1).Trim()
TextBox3.Text = Segments(2).Trim()
TextBox4.Text = Segments(3).Trim()
TextBox5.Text = Segments(4).Trim()
TextBox6.Text = Segments(5).Trim()
TextBox7.Text = Segments(6).Trim()
End If

saludos y gracias por tus respuestas
  #10 (permalink)  
Antiguo 17/05/2012, 10:57
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Index was outside the bounds of the array

me refiero a los valores que estan contenidos en el combo. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #11 (permalink)  
Antiguo 17/05/2012, 13:08
 
Fecha de Ingreso: junio-2011
Mensajes: 329
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: Index was outside the bounds of the array

Los datos son los numeros del 1 al 7..
  #12 (permalink)  
Antiguo 17/05/2012, 13:19
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Index was outside the bounds of the array

Parece que no me dejo entender... Cuando haces click a tu combo te muestra una lista del 1 al 7??? si es asi para que le haces el split?? no te sirve de nada porque el split es para separar cadenas por un caracter en común! Creo que a ti te combiene recorrer los valores del combo y asignarselos a los textbox. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #13 (permalink)  
Antiguo 17/05/2012, 13:32
 
Fecha de Ingreso: junio-2011
Mensajes: 329
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: Index was outside the bounds of the array

Entonces nada mas le pongo un ciclo que recorra el dropdown y reparta los numeros...al los textbox....es asi como dices no..?..gracias nuevamente
  #14 (permalink)  
Antiguo 17/05/2012, 13:46
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Index was outside the bounds of the array

Exactamente!. Porque mira tu seleccionas un item del combobox, por ejemplo el item 3 que obviamente contiene como texto "3", y luego le haces el split con el "-" y como no contiene dentro del texto el valor "-", lo que hace el split es esto :
Array[0] = 3
Array[1] = nulo
...
El array se crea solo con 1 item que es el valor "3" no existe más!. y entonces al tú pasarle los valores, el primero lo pasa bien porque el indice [0] sí existe, pero el segundo ya se te cae... Esto porque no hay mas ítems contenidos en el array. Me expliqué mejor?. Espero haber solucionado tu duda. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #15 (permalink)  
Antiguo 17/05/2012, 13:56
 
Fecha de Ingreso: junio-2011
Mensajes: 329
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: Index was outside the bounds of the array

Le voy a meter al codigo.......a ver si me sale...gracias..
  #16 (permalink)  
Antiguo 17/05/2012, 14:14
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Index was outside the bounds of the array

Lo que puedes hacer es esto :
Código vb:
Ver original
  1. Dim segments As New ArrayList
  2.  
  3.         For Each item In ComboBox1.Items
  4.             segments.Add(item.ToString())
  5.         Next
  6.  
  7.         TextBox1.Text = segments(0).ToString()
  8.         TextBox2.Text = segments(1).ToString()
  9.         TextBox3.Text = segments(2).ToString()
  10.         TextBox4.Text = segments(3).ToString()
  11.         TextBox5.Text = segments(4).ToString()
  12.         TextBox6.Text = segments(5).ToString()

ó tambien este otro metodo :
Código vb:
Ver original
  1. Dim segments(ComboBox1.Items.Count - 1) As String
  2.  
  3.         For i As Integer = 0 To ComboBox1.Items.Count - 1
  4.             segments(i) = ComboBox1.Items(i).ToString()
  5.         Next
  6.  
  7.         TextBox1.Text = segments(0).ToString()
  8.         TextBox2.Text = segments(1).ToString()
  9.         TextBox3.Text = segments(2).ToString()
  10.         TextBox4.Text = segments(3).ToString()
  11.         TextBox5.Text = segments(4).ToString()
  12.         TextBox6.Text = segments(5).ToString()
Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #17 (permalink)  
Antiguo 18/05/2012, 09:31
 
Fecha de Ingreso: junio-2011
Mensajes: 329
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: Index was outside the bounds of the array

Funciono.........muchas gracias..!!
  #18 (permalink)  
Antiguo 18/05/2012, 09:33
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Index was outside the bounds of the array

Hola mrprogman, me alegra saberlo. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #19 (permalink)  
Antiguo 21/05/2012, 10:43
 
Fecha de Ingreso: junio-2011
Mensajes: 329
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: Index was outside the bounds of the array

Oyes una duda.....cuando cargo el dropdownlist desde un sqldatasource me marca el mismo error....el codigo anterior funciona si los datos se agregan manualmente al dropdownlist..q podra ser..?..
  #20 (permalink)  
Antiguo 21/05/2012, 11:13
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Index was outside the bounds of the array

Hola mrprogman a que mismo error te refieres?. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #21 (permalink)  
Antiguo 21/05/2012, 11:38
 
Fecha de Ingreso: junio-2011
Mensajes: 329
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: Index was outside the bounds of the array

la verdad no tengo a la mano el error exacto..ni la aplicacion...pero tendra algo que ver el tipo de dato con que se esta sacando la informacion del sql datasource...?..por que ahorita hice una prueba con un sql dasource y si funciono ...aunque los tipo de datos son los mismos ..varchar...voy a checar por la tarde el error exacto...y lo envio..pero alguna idea por que sucedio esto..?..saludos y gracias
  #22 (permalink)  
Antiguo 21/05/2012, 11:56
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Index was outside the bounds of the array

Pues la verdad nose... Sea manual o con una consulta a la BD no debe darte problemas. Pero mejor sería analizar el mensaje del error. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #23 (permalink)  
Antiguo 22/05/2012, 09:03
 
Fecha de Ingreso: junio-2011
Mensajes: 329
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: Index was outside the bounds of the array

Este es el error,

Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index


si yo lleno el dropdownlist por medio de un sqldatasource me marca ese error...si lo lleno por medio manual como puse en los anteriores post no da problema.que podra ser .?..saludos y gracias
  #24 (permalink)  
Antiguo 22/05/2012, 09:36
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Index was outside the bounds of the array

es el mismo error del principio... estas llamando a un indice que no existe. verifica. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net

Etiquetas: index, textbox
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:08.