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

Formulario con número de campos variable

Estas en el tema de Formulario con número de campos variable en el foro de ASPX (.net) en Foros del Web. Estoy trabajando con Microsoft Visual Studio 2008 en un proyecto .aspx y tengo una duda. Quiero hacer un formulario cuyo número de campos es variable ...
  #1 (permalink)  
Antiguo 28/11/2008, 02:35
 
Fecha de Ingreso: julio-2001
Mensajes: 80
Antigüedad: 22 años, 10 meses
Puntos: 1
Pregunta Formulario con número de campos variable

Estoy trabajando con Microsoft Visual Studio 2008 en un proyecto .aspx y tengo una duda. Quiero hacer un formulario cuyo número de campos es variable (depende del número de registros que hay en una tabla).

El caso es que sé cómo podría hacerlo al estilo ".asp tradicional", creando un <input type="text" ...> en la página del formulario por cada registro, guardando el número de campos en un "hidden" y recorriendo luego en un for desde 1 hasta el número de campos para procesarlos, etc.

Lo que me gustaría saber es si puedo hacer un formulario con número de campos variable en .aspx usando los objetos <asp:TextBox ID= ...> que ofrece Visual Studio de manera que pueda referenciarlos desde código.

La única alternativa que se me ocurre, con lo que sé ahora, es crear un formulario con un número determinado de campos (más de los que sé que voy a necesitar, que son 16) y ocultar el resto, pero me parece que esto es una chapuza. Porque, ¿y si mañana paso a necesitar 32? ¡Tendría que rehacer el formulario!
__________________
Carlos Capote Pérez-Andreu
  #2 (permalink)  
Antiguo 28/11/2008, 03:12
 
Fecha de Ingreso: septiembre-2007
Mensajes: 34
Antigüedad: 16 años, 7 meses
Puntos: 4
Respuesta: Formulario con número de campos variable

Hola engeneral:

Una posible solución sería crear un array de textbox según el número que necesites y añadirlos dinámicamente al form. Te pongo un ejemplo chapucillas:

Código:
Dim arr(2) As TextBox 'Cambiar el 2 por el total de filas en la tabla -1
For i AsInteger = 0 To arr.Length - 1
arr(i) = New TextBox
'Aquí añadir el contenido al textBox
arr(i).Text = i.ToString
'Aquí añadir la lógica de presentación
Me.form1.Controls.Add(arr(i))
Next
 
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 03:16.