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

filtros y gridview

Estas en el tema de filtros y gridview en el foro de .NET en Foros del Web. Hola a todos. Tengo un pequeño problema con los filtros que aplico sobre un gridview. Resulta que desde un dropdownlist selecciono un valor para filtrar ...
  #1 (permalink)  
Antiguo 10/06/2009, 03:38
Avatar de menxucp27  
Fecha de Ingreso: enero-2009
Ubicación: Sagunto
Mensajes: 50
Antigüedad: 15 años, 3 meses
Puntos: 0
filtros y gridview

Hola a todos.

Tengo un pequeño problema con los filtros que aplico sobre un gridview.

Resulta que desde un dropdownlist selecciono un valor para filtrar los datos que muestro en el gridview. Hasta ahi todo perfecto. Pero mi grid tiene mas de una pagina, y cuando cambio de pagina se pierde el filtro que le he aplicado.

Alguien sabe como puedo arreglar esto???

He de añadir que tengo mas de un filtro... puedo elegir hasta 4 tipos....

Gracias de antemano.
  #2 (permalink)  
Antiguo 10/06/2009, 11:09
Avatar de menxucp27  
Fecha de Ingreso: enero-2009
Ubicación: Sagunto
Mensajes: 50
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: filtros y gridview

sigo sin encontrar nada por internet que me de una pista de como conseguir mantener el filtro en el grid cuando cambio de pagina.....

nadie por ahi????
  #3 (permalink)  
Antiguo 11/06/2009, 16:29
 
Fecha de Ingreso: abril-2006
Ubicación: Santiago ,Chile
Mensajes: 169
Antigüedad: 18 años
Puntos: 0
Respuesta: filtros y gridview

Cita:
Iniciado por menxucp27 Ver Mensaje
Hola a todos.

Tengo un pequeño problema con los filtros que aplico sobre un gridview.

Resulta que desde un dropdownlist selecciono un valor para filtrar los datos que muestro en el gridview. Hasta ahi todo perfecto. Pero mi grid tiene mas de una pagina, y cuando cambio de pagina se pierde el filtro que le he aplicado.

Alguien sabe como puedo arreglar esto???

He de añadir que tengo mas de un filtro... puedo elegir hasta 4 tipos....

Gracias de antemano.

podrias pone unos pantallasos de tu problema junto a tu codigo, asi de lejos veo que podria ser que no este activado el autopostbacck en tus controles dropdownlist etcs, slaudos
  #4 (permalink)  
Antiguo 12/06/2009, 02:57
Avatar de menxucp27  
Fecha de Ingreso: enero-2009
Ubicación: Sagunto
Mensajes: 50
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: filtros y gridview

No me deja publicar una imagen, pero te pongo el codigo.

Aqui el codigo del dropdownlist:

<asp:DropDownList ID="ddl_Personas" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddls_SelectedIndexChanged" >
<asp:ListItem Value="">No importa</asp:ListItem>
<asp:ListItem Value="2">2</asp:ListItem>
<asp:ListItem Value="4">4</asp:ListItem>
<asp:ListItem Value="6">6</asp:ListItem>
<asp:ListItem Value="8">8</asp:ListItem>
<asp:ListItem Value="10">10</asp:ListItem>
<asp:ListItem Value="12">mas de 10</asp:ListItem>
</asp:DropDownList>

Aqui el codigo del SqlDataSource asociado al gridview:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:casaspain01ConnectionString %>"
ProviderName="<%$ ConnectionStrings:casaspain01ConnectionString.Prov iderName %>"
SelectCommand="SELECT * FROM [ALOJAMIENTOS] WHERE ([PAIS] = ?) ORDER BY [OPORTUNIDAD]">
<SelectParameters>
<asp:QueryStringParameter DefaultValue="greece" Name="PAIS" QueryStringField="p" Type="String" />
</SelectParameters>
<FilterParameters>
<asp:ControlParameter ControlID="ddl_Personas" Name="personas" PropertyName="SelectedValue" Type="Int32" DefaultValue="-1" />
</FilterParameters>
</asp:SqlDataSource>

Aqui el codigo de la funcion ddls_SelectedIndexChanged:

Protected Sub ddls_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)

Dim per As Boolean = String.IsNullOrEmpty(ddl_Personas.SelectedValue)

SqlDataSource1.FilterParameters.Clear()
SqlDataSource1.FilterExpression = ""

If (Not per) Then
SqlDataSource1.FilterParameters.Add(New System.Web.UI.WebControls.ControlParameter("person as", TypeCode.Int32, "ddl_Personas", "SelectedValue"))
SqlDataSource1.FilterExpression = "(personas + personasm) >= {0}"
End If

End Sub

Puedo seleccionar hasta 4 valores diferentes para filtrar el grid. En el codigo pongo solo uno para simplificar.

Gracias por tu ayuda.
  #5 (permalink)  
Antiguo 15/06/2009, 00:53
Avatar de menxucp27  
Fecha de Ingreso: enero-2009
Ubicación: Sagunto
Mensajes: 50
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: filtros y gridview

Hola.... Sigo sin encontrar nada que mantenga el filtro sobre mi grid cuando cambio de pagina.... alguien tiene idea del xq????

graciasssss.
  #6 (permalink)  
Antiguo 10/08/2009, 02:53
 
Fecha de Ingreso: agosto-2009
Mensajes: 27
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: filtros y gridview

Prueba a meterle un UpdatePanel y dentro el GridView. Con esto consigues dos cosas:

1- Cuando cambias de página en el Grid no se refresca toda la página
2- A consecuencia de ello, lo único que se refresca es el Grid, quedando intacto el DropDownList permitiendo que el filtro no se borre

Si estas usando un SqlDataSource o un ObjectDataSource, yo optaría por meterlo también dentro del UpdatePanel. En el UpdatePanel asegúrate que pones como AsyncPostBack Trigger el evento SelectedIndexChanged del Drop. Y al programar el evento modificas el origen de datos para que se actualice.

Y te explico por qué se te borra el Drop: Cuando cambias de página del grid, se refresca la página, pasando por el Page_Load y reiniciando los valores de los controles, por lo que el filtro se borra. Utilizando el UpdatePanel, la única parte de la página que se refresca es esa, por lo que podrás continuar con el filtro.

Última edición por kayfaxx; 10/08/2009 a las 03:05
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 13:35.