Joaquin Trujillo


Crear tablas HTML dinámicamente en VB .NET
noviembre 4, 2007, 9:34 pm
Filed under: .NET | Etiquetas:

Quizá se habran encontrado muchas veces con la necesidad de crear una tabla (similar a las de HTML) pero dinámicamente, es decir tablas que no sabemos cuantas filas o cuantas columnas tendrán sino hasta que un usuario está utilizando alguna de nuestras aplicaciones, pues hoy les quiero comentar que debemos hacer para crear dinámicamente una tabla (obvio… en VB .NET) acá está lo que debemos incluir:

dim objRow as TableRow     ‘ Objeto fila

dim objCell as TableCell       ‘ Objeto columna

objRow = new TableRow     ‘ Inicializamos el objeto fila

objCell = New TableCell       ‘ inicializamos el objeto columna

objCell.Text = “hola”            ‘ texto para la celda

objRow.Cells.Add(objCell)   ‘ agregar celda a fila

tblEjemplo.Rows.Add(objRow)    ‘ Agregar la fila a la tabla

Podemos ver que es muy sencillo manejar una tabla dinámica, asumimos que tblEjemplo es un control de tipo Table que hemos colocado previamente sobre nuestra aspx, luego podemos utilizar objetos de tipo TableRow y TableCell para ir agregando cuantas filas y columnas querramos a nuestra tabla, es importante tener en cuenta que para cada fila o columna nueva debemos hacer uso del constructor new para cada uno de los objetos (fila o columna), además los objetos fila o columna tienen todas las propiedades existentes en una tabla HTML.


8 comentarios so far
Deja un comentario

Hola, mi problema es que puedo crear la tabla, pero cuando recargo la pagina quiero que en la recarga se queden los datos de la tabla ya creada y poder agregar más filas. Sabes como puedo hacer est?????

Gracias

Comentario por yumi

Estas creando la tabla en un método o función supongo… la llamada a la creación de la tabla la estas validando con un If Not Page.IsPostback ?

Me gustaria que me dieras mas detalles para poder encontrar una solución si es que lo que te menciono arriba ya lo probaste y no te ha funcionado.

Comentario por Joaquín

Hola Joaquin! Quiero felicitarte por tus explicaciones sobre VB.NET. Realmente me han sido de mucha ayuda. Encontré esta página a través de Google y sinceramente todas tus explicaciones las he entendido claramente y las pude aplicar sin problemas.
Muchisimas gracias por compartir tus conocimientos!
Quisiera hacerte una consulta con respecto a este tema…
Estoy armando una tabla dinamicamente y quiero saber si sabés cómo agregar images dinamicamente también.
Agradecería mucho tu respuesta.

Saludos!

Comentario por Carolina

amigo gracias por esta explicacion soy nuevo en mi trabajo y me dieron u trabajo creo que esto me soluciona todo!1
te lo agradezo saludos..

Comentario por jose Vega

hice algo asi…
pero ademas de crear las tablas dinamicamente, coloque controles dentro,

pero no puedo controlar los eventos.
si puse checks. como controlo en que linea de la tabla esta y cual es el nombre que se asigno a el?

For i As Integer = 1 To Date.DaysInMonth(2008, 5) Dim check As New CheckBox
objCell = New TableCell
objCell.Controls.Add(check)
objRow.Cells.Add(objCell)
tabla.Rows.Add(objRow)
Next i

Comentario por Ricardito

Hola me podrian ayudar con mi problema?:

Como puedo crear un boton dinamicamente es decir que mediante un bucle o como sea crear botones, mi problema es el siguiente

Resulta que accedo a la base de datos para mostrar unos datos, estos son unos textbox y unas label con el nombre y apellidos de un empelado, y cuando pulso el boton que les comento debe aparecer un nuevo formulario donde en este aparece toda la información del empleado, esto lo he realizado un un datagrid pero mi jefa lo quiere en textbox y con botones, como podria realizar esto?

También lo diseñe con un formulario con textbox con todos los datos y botones de siguiente y anterior donde aparece la informacion de los empleados, pero tampoco lo quiere asi mi jefa si no de la manera que ya expuse, me puede ayudar alguien? muchas gracias a todos

No se si me explique claramentes si no preguntenme porfavor y lo intentare explicar mejor, gracias y saludos

Comentario por oscar

me han pasado este codigo pero creo q solo vale para vb6 y yo kiero para .net muchas gracias saludos

Código:
Dim Looping As Byte
For Looping = 1 To 5
Load Text1(Looping)
Text1(Looping).Left = Text1(0).Left
Text1(Looping).Top = Text1(Looping – 1).Top + Text1(Looping – 1).Height
Text1(Looping).Visible = True
Load Command1(Looping)
Command1(Looping).Left = Command1(0).Left
Command1(Looping).Top = Command1(Looping – 1).Top + Command1(Looping – 1).Height
Command1(Looping).Visible = True
Next Looping

Comentario por oscar

Excelente información joaquin nada mas una pregunta ya que llene la tabla como la despliego en pantalla

Comentario por Aldo villarreal




Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s



A %d blogueros les gusta esto: