Foros del Web » Programando para Internet » ASPX (.net) »

Ayuda con ciclo

Estas en el tema de Ayuda con ciclo en el foro de ASPX (.net) en Foros del Web. Se que hay algo mal, pueden ayudarme por favor If dt.Rows.Count = 19 Then 'Verifica que esten todos los registros por número de especie For ...
  #1 (permalink)  
Antiguo 10/05/2010, 14:16
Avatar de luis1629  
Fecha de Ingreso: octubre-2004
Ubicación: Santiago de Chile comuna del bosque
Mensajes: 4
Antigüedad: 20 años, 1 mes
Puntos: 0
Ayuda con ciclo

Se que hay algo mal, pueden ayudarme por favor

If dt.Rows.Count = 19 Then 'Verifica que esten todos los registros por número de especie
For d = 4 To 19

NombreControl = "txt_Pregunta" & d & "_1"

Me.Controls(NombreControl).ToString() = dt.Rows(0)("NumAnimal")

"ahi me anda error"

Next d

saludos
  #2 (permalink)  
Antiguo 10/05/2010, 16:24
 
Fecha de Ingreso: marzo-2003
Ubicación: onde toy?
Mensajes: 1.437
Antigüedad: 21 años, 8 meses
Puntos: 9
Respuesta: Ayuda con ciclo

Puedes poner lgun tipo de excepción que te esté dando??? en definitiva el Error, qué error te da?
__________________
Buena Vida...
Francisco
  #3 (permalink)  
Antiguo 11/05/2010, 08:06
Avatar de luis1629  
Fecha de Ingreso: octubre-2004
Ubicación: Santiago de Chile comuna del bosque
Mensajes: 4
Antigüedad: 20 años, 1 mes
Puntos: 0
Respuesta: Ayuda con ciclo

En realidad ya encontré como hacerlo, lo que pasa es que para no repetir tantas veces este bloque de codigo:

Me.txt_Pregunta4_1.Text = dt.Rows(0)("NumAnimal")
Me.txt_Pregunta4_2.Text = dt.Rows(0)("TotalPeso")
Me.txt_Pregunta4_3.Text = dt.Rows(0)("TotalKilo")
Me.txt_Pregunta4_4.Text = dt.Rows(0)("NumVista")
Me.txt_Pregunta4_5.Text = dt.Rows(0)("TotalVista")

Me.txt_Pregunta5_1.Text = dt.Rows(1)("Nro_Animales_Peso")
Me.txt_Pregunta5_2.Text = dt.Rows(1)("Valor_Total_Peso")
Me.txt_Pregunta5_3.Text = dt.Rows(1)("Peso_Vivo_Total_Peso")
Me.txt_Pregunta5_4.Text = dt.Rows(1)("Nro_Animales_Vista")
Me.txt_Pregunta5_5.Text = dt.Rows(1)("Valor_Total_Vista")

La intención es hacer el codigo más chico, por eso quise hacer un ciclo.

Cualquier cosa te aviso.
  #4 (permalink)  
Antiguo 12/05/2010, 00:00
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 22 años
Puntos: 4
Respuesta: Ayuda con ciclo

Muy buenas.

Lo primero de todo, si el número de filas es 19 el índice de la colección sólo puede llegar hasta el 18, ya que empieza con índice 0.

Si siempre vas a obtener 19 registros pones:
Código vb:
Ver original
  1. For d = 4 To 18
  2. ...
  3. Next
Si puede que se obtenga otro número de registros lo mejor es que pongas siempre:
Código vb:
Ver original
  1. For d = 4 To dt.Rows.Count - 1
  2. ...
  3. Next
Por último, en el código que tenías antes, en cada vuelta del bucle buscabas el control, que me imagino sería un textbox, pero no verificabas si realmente existía además que con ToString() no le estás dando valor a la propiedad Text. Yo te recomiendo lo siguiente (fíjate también que tienes que ir cambiando el índice de la fila en la que estás, ya que si no siempre vas a asignar el mismo valor):
Código vb:
Ver original
  1. For d = 4 To dt.Rows.Count - 1
  2. NombreControl = "txt_Pregunta" & d & "_1"
  3. If Not Me.FindControl(NombreControl) Is Nothing Then
  4.   CType(Me.FindControl(NombreControl), TextBox).Text = dt.Rows(d)("NumAnimal")
  5. End If
  6. Next
Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!

Etiquetas: aspx, ciclos
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 14:03.