Seleccionar datos de un Gridview con Dropdownlist
Publicado por Eli (3 intervenciones) el 03/10/2008 12:41:38
Hola, mi duda es la siguiente:
Lo que intento es realizar una búsqueda a través de dos dropdownlist y que el resultado me aparezca en un gridview, en el primero lo que hago es seleccionar unos rangos de valores(metros cuadrados y en segundo seleccionar una localidad), por separado me salen las busquedas pero el problema que tengo es que se cumplan a la vez las dos condiciones selecionadas del dropdownlist. El código que tengo es el siguiente:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Seleccion.aspx.vb" Inherits="Seleccion" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script language="VB" Runat="server">
Sub SubmitBtn_Click(ByVal Sender As Object, ByVal e As EventArgs)
Dim val As String
val = DropDownList1.SelectedItem.Value
Label1.Text = val
End Sub
Sub doCheck(ByVal Source As Object, ByVal E As EventArgs)
If DropDownList1.SelectedItem.Value = 1 Then
SqlDataSource2.SelectCommand = "SELECT [idpropiedad], [nombrepropiedad], [interes], [entorno], [tipo], [metros], [localidad] FROM [propiedades] WHERE ([metros]<'100')"
End If
If DropDownList1.SelectedItem.Value = 2 Then
SqlDataSource2.SelectCommand = "SELECT [idpropiedad], [nombrepropiedad], [interes], [entorno], [tipo], [metros], [localidad] FROM [propiedades] WHERE ([metros]>'100')"
End If
If DropDownList1.SelectedItem.Value = 3 Then
SqlDataSource2.SelectCommand = "SELECT [idpropiedad], [nombrepropiedad], [interes], [entorno], [tipo], [metros], [localidad] FROM [propiedades]"
End If
End Sub
Sub doCheck1(ByVal Source As Object, ByVal E As EventArgs)
If DropDownList2.SelectedItem.Value = 1 Then
SqlDataSource2.SelectCommand = "SELECT [idpropiedad], [nombrepropiedad], [interes], [entorno], [tipo], [metros], [localidad] FROM [propiedades] WHERE ([localidad]='Carnota')"
End If
If DropDownList2.SelectedItem.Value = 2 Then
SqlDataSource2.SelectCommand = "SELECT [idpropiedad], [nombrepropiedad], [interes], [entorno], [tipo], [metros], [localidad] FROM [propiedades] WHERE ([localidad]='Muros')"
End If
If DropDownList2.SelectedItem.Value = 3 Then
SqlDataSource2.SelectCommand = "SELECT [idpropiedad], [nombrepropiedad], [interes], [entorno], [tipo], [metros], [localidad] FROM [propiedades]"
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Página sin título</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDataSource1"
OnSelectedIndexChanged="doCheck" DataTextField="metros" DataValueField="metros" AppendDataBoundItems="true" >
<asp:ListItem></asp:ListItem>
<asp:ListItem Value="3"> todas </asp:ListItem>
<asp:ListItem Value="1"> <100 </asp:ListItem>
<asp:ListItem Value="2"> >100 </asp:ListItem>
</asp:DropDownList><br />
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:inmobiliariaConnectionString24 %>"
>
</asp:SqlDataSource>
<br />
<asp:DropDownList ID="DropDownList2" runat="server" DataSourceID="SqlDataSource3"
OnSelectedIndexChanged="doCheck1" DataTextField="localidad" DataValueField="localidad" AppendDataBoundItems="true" >
<asp:ListItem></asp:ListItem>
<asp:ListItem Value="3"> todas </asp:ListItem>
<asp:ListItem Value="1"> Carnota </asp:ListItem>
<asp:ListItem Value="2"> Muros </asp:ListItem>
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:inmobiliariaConnectionString29 %>"
>
</asp:SqlDataSource>
<br />
<br />
<asp:button ID="Button2" text="Submit" OnClick="SubmitBtn_Click" runat="server"/> <br />
<br />
<br />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> <br />
<br />
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="idpropiedad"
DataSourceID="SqlDataSource2" EmptyDataText="No hay registros de datos para mostrar.">
<Columns>
<asp:BoundField DataField="idpropiedad" HeaderText="idpropiedad" ReadOnly="True"
SortExpression="idpropiedad" />
<asp:BoundField DataField="nombrepropiedad" HeaderText="nombrepropiedad" SortExpression="nombrepropiedad" />
<asp:BoundField DataField="interes" HeaderText="interes" SortExpression="interes" />
<asp:BoundField DataField="entorno" HeaderText="entorno" SortExpression="entorno" />
<asp:BoundField DataField="tipo" HeaderText="tipo" SortExpression="tipo" />
<asp:BoundField DataField="metros" HeaderText="metros" SortExpression="metros" />
<asp:BoundField DataField="localidad" HeaderText="localidad" SortExpression="localidad" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:inmobiliariaConnectionString1 %>"
ProviderName="<%$ ConnectionStrings:inmobiliariaConnectionString1.ProviderName %>"
SelectCommand="SELECT [idpropiedad], [nombrepropiedad], [entorno], [tipo], [metros], [dormitorios][localidad], [utensiliosvivienda] FROM [propiedades] WHERE ([metros] = @metros) AND ([localidad] = @localidad) ">
<SelectParameters>
<asp:ControlParameter ControlID="DropDownList2" DefaultValue="" Name="localidad"
PropertyName="SelectedValue" Type="String" />
<asp:ControlParameter ControlID="DropDownList1" DefaultValue="" Name="metros"
PropertyName="SelectedValue" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
</div>
</form>
</body>
</html>
Lo que intento es realizar una búsqueda a través de dos dropdownlist y que el resultado me aparezca en un gridview, en el primero lo que hago es seleccionar unos rangos de valores(metros cuadrados y en segundo seleccionar una localidad), por separado me salen las busquedas pero el problema que tengo es que se cumplan a la vez las dos condiciones selecionadas del dropdownlist. El código que tengo es el siguiente:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Seleccion.aspx.vb" Inherits="Seleccion" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script language="VB" Runat="server">
Sub SubmitBtn_Click(ByVal Sender As Object, ByVal e As EventArgs)
Dim val As String
val = DropDownList1.SelectedItem.Value
Label1.Text = val
End Sub
Sub doCheck(ByVal Source As Object, ByVal E As EventArgs)
If DropDownList1.SelectedItem.Value = 1 Then
SqlDataSource2.SelectCommand = "SELECT [idpropiedad], [nombrepropiedad], [interes], [entorno], [tipo], [metros], [localidad] FROM [propiedades] WHERE ([metros]<'100')"
End If
If DropDownList1.SelectedItem.Value = 2 Then
SqlDataSource2.SelectCommand = "SELECT [idpropiedad], [nombrepropiedad], [interes], [entorno], [tipo], [metros], [localidad] FROM [propiedades] WHERE ([metros]>'100')"
End If
If DropDownList1.SelectedItem.Value = 3 Then
SqlDataSource2.SelectCommand = "SELECT [idpropiedad], [nombrepropiedad], [interes], [entorno], [tipo], [metros], [localidad] FROM [propiedades]"
End If
End Sub
Sub doCheck1(ByVal Source As Object, ByVal E As EventArgs)
If DropDownList2.SelectedItem.Value = 1 Then
SqlDataSource2.SelectCommand = "SELECT [idpropiedad], [nombrepropiedad], [interes], [entorno], [tipo], [metros], [localidad] FROM [propiedades] WHERE ([localidad]='Carnota')"
End If
If DropDownList2.SelectedItem.Value = 2 Then
SqlDataSource2.SelectCommand = "SELECT [idpropiedad], [nombrepropiedad], [interes], [entorno], [tipo], [metros], [localidad] FROM [propiedades] WHERE ([localidad]='Muros')"
End If
If DropDownList2.SelectedItem.Value = 3 Then
SqlDataSource2.SelectCommand = "SELECT [idpropiedad], [nombrepropiedad], [interes], [entorno], [tipo], [metros], [localidad] FROM [propiedades]"
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Página sin título</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDataSource1"
OnSelectedIndexChanged="doCheck" DataTextField="metros" DataValueField="metros" AppendDataBoundItems="true" >
<asp:ListItem></asp:ListItem>
<asp:ListItem Value="3"> todas </asp:ListItem>
<asp:ListItem Value="1"> <100 </asp:ListItem>
<asp:ListItem Value="2"> >100 </asp:ListItem>
</asp:DropDownList><br />
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:inmobiliariaConnectionString24 %>"
>
</asp:SqlDataSource>
<br />
<asp:DropDownList ID="DropDownList2" runat="server" DataSourceID="SqlDataSource3"
OnSelectedIndexChanged="doCheck1" DataTextField="localidad" DataValueField="localidad" AppendDataBoundItems="true" >
<asp:ListItem></asp:ListItem>
<asp:ListItem Value="3"> todas </asp:ListItem>
<asp:ListItem Value="1"> Carnota </asp:ListItem>
<asp:ListItem Value="2"> Muros </asp:ListItem>
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:inmobiliariaConnectionString29 %>"
>
</asp:SqlDataSource>
<br />
<br />
<asp:button ID="Button2" text="Submit" OnClick="SubmitBtn_Click" runat="server"/> <br />
<br />
<br />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> <br />
<br />
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="idpropiedad"
DataSourceID="SqlDataSource2" EmptyDataText="No hay registros de datos para mostrar.">
<Columns>
<asp:BoundField DataField="idpropiedad" HeaderText="idpropiedad" ReadOnly="True"
SortExpression="idpropiedad" />
<asp:BoundField DataField="nombrepropiedad" HeaderText="nombrepropiedad" SortExpression="nombrepropiedad" />
<asp:BoundField DataField="interes" HeaderText="interes" SortExpression="interes" />
<asp:BoundField DataField="entorno" HeaderText="entorno" SortExpression="entorno" />
<asp:BoundField DataField="tipo" HeaderText="tipo" SortExpression="tipo" />
<asp:BoundField DataField="metros" HeaderText="metros" SortExpression="metros" />
<asp:BoundField DataField="localidad" HeaderText="localidad" SortExpression="localidad" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:inmobiliariaConnectionString1 %>"
ProviderName="<%$ ConnectionStrings:inmobiliariaConnectionString1.ProviderName %>"
SelectCommand="SELECT [idpropiedad], [nombrepropiedad], [entorno], [tipo], [metros], [dormitorios][localidad], [utensiliosvivienda] FROM [propiedades] WHERE ([metros] = @metros) AND ([localidad] = @localidad) ">
<SelectParameters>
<asp:ControlParameter ControlID="DropDownList2" DefaultValue="" Name="localidad"
PropertyName="SelectedValue" Type="String" />
<asp:ControlParameter ControlID="DropDownList1" DefaultValue="" Name="metros"
PropertyName="SelectedValue" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
</div>
</form>
</body>
</html>
Valora esta pregunta


0