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

Actualizar datagrid después de pulsar un botón de un control de usuario

Estas en el tema de Actualizar datagrid después de pulsar un botón de un control de usuario en el foro de ASPX (.net) en Foros del Web. Buenas tardes!! Tengo un formulario web con un datagrid y un control de usuario. En el control de usuario existe un botón que al pulsarlo ...
  #1 (permalink)  
Antiguo 20/10/2009, 08:53
 
Fecha de Ingreso: octubre-2009
Mensajes: 11
Antigüedad: 14 años, 6 meses
Puntos: 0
Actualizar datagrid después de pulsar un botón de un control de usuario

Buenas tardes!!

Tengo un formulario web con un datagrid y un control de usuario.

En el control de usuario existe un botón que al pulsarlo cambia el valor de una variable de sesión. Esta variable de sesión se utiliza a su vez como origen de datos del datagrid.

El problema radica en que al pulsar el botón del control, primero se recorre el page_load del formulario y posteriormente entra a ejecutar el button1_Click del botón (dentro de del control).
Como desde el control no hay constancia de que exista el datagrid, no puedo decirle al datagrid del formulario que se recargue con los datos nuevos (generados al pulsar el botón).

He probado ha crear un evento en el control y lanzarlo dentro de button1_Click pero me dice que nadie se ha suscrito al evento, y previamente me he suscrito en el page_load del formuario.
He mirado temas de post back, etc. y no encuentro nada. También he visto alguien que con un Response.Redirect intenta realizar una llamada al servidor para que entre en el Page_Load y se recargue, pero no consigo hacerlo sin que se modifiquen cosas del formulario.

¿Alguien me puede echar una manilla?

Muchas gracias!
  #2 (permalink)  
Antiguo 20/10/2009, 14:04
Avatar de jsrc1990  
Fecha de Ingreso: enero-2009
Mensajes: 95
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Actualizar datagrid después de pulsar un botón de un control de usuario

Pues segun lo que entendi tienes en un aspx: un Datagrid, y un WebUserControl (ascx). al hacer un evento de un clic en un boton del WebUserControl, quieres que cargue de datos el Datagrid que se encuentra en el aspx.

Bueno puedo decirte que por ningun motivo puedes hacer que primero recorra el evento del boton del Webusercontrol que el load para que asi tomase el valor la Session porque cuando valla al servidor, al abrir la aplicacion con lo primero que se encontrara es con el load... a menos que utilices un "if not ispostback" para que no tome las lineas pero bueno eso es otro cuento si te sirve de alguna forma pues bien.

y si, como dices cuando haga el response.redirect limpia todo nuevamente.

La solucion que pienso talvez te podria servir es esta (en el evento del boton):

Dim Datagridnuevo As New DataGrid
Datagridnuevo.DataSource = midataSource
Datagridnuevo.DataBind()
Me.Page.FindControl("contenedordatagrids").Control s.Remove(Me.Page.FindControl("Datagridviejo"))
Me.Page.FindControl("contenedordatagrids").Control s.Add(Datagridnuevo)

De que en el evento del boton del Webusercontrol elimines el datagrid de la pagina apsx y le agregues un nuevo, ya cargado. sin necesidad de asignarselo a una Session.

Es la unica opcion que veo no lo probe porque estoy corto de tiempo pero nos cuentas a ver como te fue si algun dia tambien lo necesite.

Salu2

Atte. Jsrc1990
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 04:30.