ASP.NET - Agregar manejador a combo dinamico

 
Vista:
Imágen de perfil de Oskiman

Agregar manejador a combo dinamico

Publicado por Oskiman (2 intervenciones) el 13/05/2005 18:50:43
Hola, estoy trabajando en una pagina que tiene una cantidad de combos que puede variar entre corridas. Para poder crearlas utilizo una table runat=server que defino si campos inicialmente y luego agrego desde el evento Load de la vb asociada una rutina de carga de los datos. que son pares etiqueta combo y que agrego como filas de la tabla.
Para poder controlar el cambio agregue un handler usando Addhandler sobre el evento selectindexchanged. ASi
Private Sub InsertarFila(ByVal...)
Dim row As New System.Web.UI.HtmlControls.HtmlTableRow
Dim oCellTipoClasificador As New System.Web.UI.HtmlControls.HtmlTableCell
Dim oCellClasificador As New System.Web.UI.HtmlControls.HtmlTableCell
Dim oLabelTipoClasificador As New System.Web.UI.WebControls.Label

Dim oStyleTipoClasificador As New System.Web.UI.WebControls.Style
Dim oStyleClasificador As New System.Web.UI.WebControls.Style
Dim oBoPozo As BoPozo
'Seleccionar los estilos
oStyleTipoClasificador.CssClass = "THEtiq"
oStyleClasificador.CssClass = "Etiqueta"

'Setear los valores de los labels
oLabelTipoClasificador.Text = texto

Dim oddlClasificador As New System.Web.UI.WebControls.DropDownList
AddHandler oddlClasificador.SelectedIndexChanged, AddressOf ManejadorCombo
oddlClasificador.AutoPostBack = True
oddlClasificador.EnableViewState = True
oddlClasificador.ID = myid
'
' Cargar dropdownList correspondiente.
'
oddlClasificador.Items.Add(New ListItem("(Sin Especificar)", Nothing))

'Cargar el ddl a partir de la lista de Clasificadores del Tipo dado.
For Each datos As Tipo In Lista

Dim oItem As New ListItem(dato.Nombre, dato.Codigo)
oddlClasificador.Items.Add(oItem)

Next

'Setear los estilos de las columnas
oLabelTipoClasificador.ApplyStyle(oStyleTipoClasificador)
oddlClasificador.ApplyStyle(oStyleClasificador)

'Setear los labels en las celdas
oCellTipoClasificador.Controls.Add(oLabelTipoClasificador)
oCellTipoClasificador.Width = "130px"
oCellTipoClasificador.Align = "rigth"
oCellClasificador.Controls.Add(oddlClasificador)

'Agregar las columnas a la fila
row.Cells.Add(oCellTipoClasificador)
row.Cells.Add(oCellClasificador)

'Agregar la fila a la tabla
ClasifPozos.Rows.Add(row)

End Sub

Public Sub ManejadorCombo(ByVal sender As Object, ByVal e As EventArgs)
'Dim oDdl As DropDownList = CType(sender, DropDownList)

'' Response.Write(oddl.SelectedValue)
Response.Write("HOLEA")
End Sub

Espero se entienda lo que hago. En esta funcion que se llama de acuerdo a la cantidad de combos que tengo creo los datos, agrego el estilo, cargo los combos.
Mis problemas son:
1) No dispara el manejador de eventos que le defini.
2) No me mantiene la info seleccionada en los combos cuando hago un postback.
3) Despues de varios postbacks es como que los estilos se saturan y varian

Acepto cualquier sugerencia que me pueda ayudar a resolver estos problemas. Desde ya gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder