
12/06/2009, 02:57
|
 | | | Fecha de Ingreso: enero-2009 Ubicación: Sagunto
Mensajes: 50
Antigüedad: 16 años, 1 mes 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. |