Foros del Web » Programación para mayores de 30 ;) » .NET »

filtros en dropdownlist

Estas en el tema de filtros en dropdownlist en el foro de .NET en Foros del Web. Espero me puedan ayudar... Tengo definidos 4 dropdownlist que accesan tabla a base de datos el primero 'combo1' al seleccionar un valor aqui me filtra ...
  #1 (permalink)  
Antiguo 06/11/2003, 11:13
 
Fecha de Ingreso: mayo-2003
Mensajes: 46
Antigüedad: 21 años
Puntos: 0
filtros en dropdownlist

Espero me puedan ayudar...

Tengo definidos 4 dropdownlist que accesan tabla a base de datos

el primero 'combo1' al seleccionar un valor aqui me filtra los valores del 'combo1.1' y el 'combo2' me filtra los valores de 'combo2.1' el problema es que tengo definido un autopostback en 'combo1' y 'combo2' precisamente para poder los valores filtrados en 'combo1.1' y 'combo2.1', ahora si yo elijo un valor en 'combo1' me filtra los valores para 'combo1.1' y elijo un valor de los filtrados en este combo, ahora elijo un valor de 'combo2' y me filtra los valores para 'combo2.1' pero tambien me los vuelve a filtrar para el 'combo1.1' y me pone el primer valor del combo, a lo que voy es, como puedo identificar que combo ('combo1' o 'combo2') esta haciendo el autopostback para solo filtrar el combo correspondiente???

Espero me haya podido explicar!!!!

Saludos
Javier
  #2 (permalink)  
Antiguo 06/11/2003, 12:11
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Hola, si mas o menos te entendí, es que cuando filtras con tu combo2 se regresa el valor de tu combo1 verdad..??
Me imagino que el combo1 y el combo2 los estás llenando cuando se abre la página verdad..??

Si es así, lo que puedes hacer es poner tu formload algo como ésto:


Cita:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

If Not IsPostBack Then
'Aqui lleno combo1 y combo2
End If

End Sub
Con ello los valores solo se cargaran la primera vez que la página sea abierta, porque recuerda que cada vez que haces un postback sea de un linkbutton, button, listbox, checkbox... etc.. siempre pasa por el evento Page_Load y me imagino que cada vez que hacias el postback tus combos se volvían a llenar y por eso se regresaba a su valor original.

Haz la prueba y me dices que tal te fue.

Saludos y suerte.
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 06/11/2003, 13:25
 
Fecha de Ingreso: mayo-2003
Mensajes: 46
Antigüedad: 21 años
Puntos: 0
mmmm mas o menos es la idea, solo que uso 4 combos y los lleno de esta forma(combo1, combo2, combo3, combo4) todos se llenan de una tabla diferente en mi base de datos(en un principio los lleno todos), cuando selecciono un valor en el combo 1, me hace un filtro y solo me deja cierta informacion en el combo2 y cuando elijo un valor en combo3 me filtra igual en el combo4, entonces los lleno asi
(por ejemplo en el combo1 llenos los estados de un pais y en el combo2 las ciudades si elijo cierto estado no es necesario que despliegue todas las ciudades, asi que filtro las ciudades (combo2)dependiendo del estado que se haya seleccionado en el combo1)
el problema es que hago lo mismo con el combo 3 y 4, y como podras ver en mis funciones, al llenar los combos 2 y 4 al filtrar la informacion me los hace a los dos de nuevo, entonces lo yo quisiera saber es como puedo identificar que combo esta haciendo el autopostback y cada uno llamar a una funcion diferente para llenarlos por separado, es decir si el autopostback fue del combo1 llamar a una funcion donde llene el combo2 y cuando el autopostback lo hace el combo 3 llenar solo el combo4.

sub page_load
if not page.ispostback then
llena_combos()
else
llena_filtros
enf if
end sub

sub llena_combos()
llena combo1, combo2, combo3, combo4
end sub

sub llena_filtros()
llena combo2 y combo4
end sub

Gracias por su ayuda
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 21:11.