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

Como encontrar controles creados dinámicamente?

Estas en el tema de Como encontrar controles creados dinámicamente? en el foro de ASPX (.net) en Foros del Web. Hola, en una tabla creo unos checkbox dinámicamente con programación: Código PHP: tCell  = new  TableCell (); System . Web . UI . WebControls . CheckBox check  ...
  #1 (permalink)  
Antiguo 05/09/2008, 05:38
 
Fecha de Ingreso: junio-2002
Ubicación: España
Mensajes: 348
Antigüedad: 21 años, 10 meses
Puntos: 8
Como encontrar controles creados dinámicamente?

Hola, en una tabla creo unos checkbox dinámicamente con programación:
Código PHP:
tCell = new TableCell();
System.Web.UI.WebControls.CheckBox check = new System.Web.UI.WebControls.CheckBox();
check.ID cod_doc.ToString(); //el id del checkbox es el codigo del documento
idCheck++;
tCell.Controls.Add(check);                            
 
tRow.Cells.Add(tCell); 
Pero cómo los encuentro luego, cómo accedo a ellos para ver cual esta checkeado y cual no?
__________________
Bicis nuevas y de segunda mano: Bicibid
  #2 (permalink)  
Antiguo 08/09/2008, 03:45
 
Fecha de Ingreso: abril-2005
Ubicación: España - Madrid
Mensajes: 236
Antigüedad: 19 años
Puntos: 2
Respuesta: Como encontrar controles creados dinámicamente?

Usando FindControl("NombreObjetoABuscar").

De esta forma encontrarás los objetos que tiene la página, no obstante si los tienes dentro de una tabla, tendrás que buscar la tabla primero y mirar los controles que contiene la tabla, celda.......
  #3 (permalink)  
Antiguo 08/09/2008, 07:17
 
Fecha de Ingreso: junio-2002
Ubicación: España
Mensajes: 348
Antigüedad: 21 años, 10 meses
Puntos: 8
Respuesta: Como encontrar controles creados dinámicamente?

Gracias, estoy intentando usarlo pero no lo consigo, a ver si me puedes ayudar.
El checkbox lo creo asi, dentro de la tabla añado la fila y luego las columnas:

Código PHP:
...
tRow = new TableRow();
TableDocs.Rows.Add(tRow);

tCell = new TableCell();
System.Web.UI.WebControls.Image imgFolder = new System.Web.UI.WebControls.Image();
imgFolder.ImageUrl "images/folder.gif";
imgFolder.ImageAlign ImageAlign.Middle;                            
tCell.Controls.Add(imgFolder);
tRow.Cells.Add(tCell);

tCell = new TableCell();
System.Web.UI.WebControls.CheckBox check = new System.Web.UI.WebControls.CheckBox();
check.ID idCheck.ToString(); //el id del checkbox es el codigo del documento
idCheck++;

tCell.Controls.Add(check);                            
tRow.Cells.Add(tCell);
... 
y luego lo busco asi:

Código PHP:
for (int i 010i++)
{
chk = (System.Web.UI.WebControls.CheckBox)this.FindControl(i.ToString());

pero en chk tengo siempre null. Alguien me puede ayudar?
Gracias
__________________
Bicis nuevas y de segunda mano: Bicibid
  #4 (permalink)  
Antiguo 09/09/2008, 01:33
 
Fecha de Ingreso: junio-2002
Ubicación: España
Mensajes: 348
Antigüedad: 21 años, 10 meses
Puntos: 8
Respuesta: Como encontrar controles creados dinámicamente?

Hola, nadie me puede ayudar?
Investigando un poco, he visto que cuando creo mi tabla si pongo:

Código PHP:
ControlCollection str this.TableDocs.Rows[idCheck].Controls[1].Controls
Me aparecen los checkbox de esa fila dentro de str, entonces al hacer un FindControl encuentra el que le digo, pero cuando realizo algun evento como pulsar un botón, aunque los checkbox sigan en la página str vale null, como conservar el valor de str?
__________________
Bicis nuevas y de segunda mano: Bicibid
  #5 (permalink)  
Antiguo 10/09/2008, 09:46
 
Fecha de Ingreso: abril-2005
Ubicación: España - Madrid
Mensajes: 236
Antigüedad: 19 años
Puntos: 2
Respuesta: Como encontrar controles creados dinámicamente?

Buenas!!!!

Debes de tener en cuenta que los controles creados dinamicamente no se guardan los valores en la pagina, lo que quiero decir es que si estas creando dinamicamente el checkbox, cuando se produce un evento vuelve a pasar por el load y los vuelves a crear, por lo que pierdes el valor del evento cuando lo pinchaste.

No se si me entiendes, de todas formas si no lo entiendes mañana te lo explico.

Ya me diras.

Última edición por wilwas; 11/09/2008 a las 06:03
  #6 (permalink)  
Antiguo 10/09/2008, 10:05
 
Fecha de Ingreso: junio-2002
Ubicación: España
Mensajes: 348
Antigüedad: 21 años, 10 meses
Puntos: 8
Respuesta: Como encontrar controles creados dinámicamente?

Era justo lo que pasaba, perdía la referencia al checkbox.
He cambiado la tabla por un gridview y aqui funciona perfectamente, no pierdo la referencia de ningún elemento. muchas gracias por tus respuestas
__________________
Bicis nuevas y de segunda mano: Bicibid
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 20:10.