ASP.NET - ASP.NET Gridview Dropdownlist

   
Vista:

ASP.NET Gridview Dropdownlist

Publicado por Javier (30 intervenciones) el 15/05/2008 20:42:16
Gracias de antemano y espero DESESPERADAMENTE su ayuda.
Estoy empezando a trastear con ASP.NET y C#. Mi duda es la siguiente y esto es lo que tengo:

1) TextBox en el que escribir una palabra
2) Dropdownlist con 4 opciones (que he metido yo manualmente, sin hacer conexión a una Base de Datos)
3) Botón Buscar
4) Gridview para mostrar datos

Bien, mi idea es la siguiente.
Yo escribo en el TextBox una palabra y dependiendo de qué opción escoja en el Dropdownlist me tiene que hacer una consulta SQL (tengo una base de datos creada en SQL Server 2.005) para cada opción del Dropdownlist y que me lo muestre en el Gridview al pulsar el botón "Buscar".
La verdad es que en un Gridview sólo se puede asignar un SQLDATASOURCE (o eso creo¡¡), así que no tengo ni idea de cómo poder hacerlo...
En las consultas, le digo que lo que escribas en el TextBox1 sea igual a lo que haya en la Base de Datos y me lo muestra correcto pero no para cada opción del Dropdownlist...
SIENTO la parrafada. Creo que ha quedado claro. Si alguien necesita el código que me lo diga y gustosamente se lo daré...
Gracias por vuestro tiempo.
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

RE:ASP.NET Gridview Dropdownlist

Publicado por Javier Santamaria (59 intervenciones) el 16/05/2008 11:22:06
Hola,

Pues si necesitaremos un poco de codigo. Podrias ponernos como creas la consulta y adjuntas la restriccion del dropdownlist a la misma? Y podrias ponernos tambien como ejecutas la consulta y enlazas los datos al gridview?

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ASP.NET Gridview Dropdownlist

Publicado por Javier (30 intervenciones) el 19/05/2008 17:46:56
CÓDIGO inicial.aspx
.
.
.
<table width="100%" border="1px" style="background-color: #ccffff">
<tr>
<td width="30%" style="height: 473px" align="center" valign="top">
<form id="myform" method="post" runat="server">
<br />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
<br />
<asp:DropDownList ID="DropDownList1" runat="server" AppendDataBoundItems="True" AutoPostBack="True">
<asp:ListItem Selected="True">Escoja un criterio de búsqueda</asp:ListItem>
<asp:ListItem>Titulo</asp:ListItem>
<asp:ListItem>Texto</asp:ListItem>
<asp:ListItem>Ámbito</asp:ListItem>
<asp:ListItem>Año</asp:ListItem>
</asp:DropDownList><br />
<br />
<asp:Button ID="Button1" runat="server" Text="Buscar" /><br />
<br />

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="IDNum"
DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundField DataField="IDNum" HeaderText="IDNum" ReadOnly="True" SortExpression="IDNum" />
<asp:BoundField DataField="Nombre" HeaderText="Nombre" SortExpression="Nombre" />
</Columns>
</asp:GridView>

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:LeyesConnectionString %>"
SelectCommand="SELECT [IDNum], [Nombre] FROM [Ley] WHERE ([Nombre] LIKE '%' + @Nombre + '%')">
<SelectParameters>
<asp:ControlParameter ControlID="TextBox1" Name="Nombre" PropertyName="Text" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
</form>
</td>
<td style="width: 89%; height: 473px">
</td>
</tr>
</table>
</body>

</html>

En el inicial.aspx.cs no tengo NADA.
Me estoy iniciando y no sé cuál es el problema¡¡¡¡
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ASP.NET Gridview Dropdownlist

Publicado por Javier Santamaria (59 intervenciones) el 20/05/2008 10:48:08
Hola,

Mira a ver si puedes meter otro parametro en el sqldatasource, algo asi:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:LeyesConnectionString %>"
SelectCommand="SELECT [IDNum], [Nombre] FROM [Ley] WHERE ([Nombre] LIKE '%' + @Nombre + '%' AND TipoBusqueda =' + @Tipo +')">
<SelectParameters>
<asp:ControlParameter ControlID="TextBox1" Name="Nombre" PropertyName="Text" Type="String" />
</SelectParameters>
<asp:ControlParameter ControlID="DropDonwList1" Name="Tipo" PropertyName="Text" Type="String" />
</asp:SqlDataSource>
</form>
</td>
<td style="width: 89%; height: 473px">
</td>
</tr>
</table>
</body>

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ASP.NET Gridview Dropdownlist

Publicado por Diabolo19 (30 intervenciones) el 10/06/2008 10:17:54
Bien... A ver... Esto es lo que tengo... y lo explico también

// DropDownList1 con selecciones que le doy yo manualmente
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem Selected="True">Escoja una opcion</asp:ListItem>
<asp:ListItem>Titulo</asp:ListItem>
<asp:ListItem>Texto</asp:ListItem>
</asp:DropDownList>

// TextBox1 para introducir lo que quiero buscar en mi base de datos
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

//Botón Button1 para que al apretar me busque en la base de Datos
<asp:Button ID="Button1" runat="server" Text="Buscar" />

//GridView con el que mostrar los datos
<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1">
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:Proyecto de LeyesConnectionString %>"

*******************************//
Esta es la parte que vosotros deciis. En esta consula hago que lo que yo introduzca en el TextBox1 esté contenido en la columna Texto de mi Base de Datos, pero me falta decirle que lo haga SÓLO cuando hayas seleccionado el valor Texto del DropDownList... Había pensado poner al final de la consulta esto:
"SELECT [Texto] FROM [EstructuraLey] WHERE ([Texto] LIKE '%' + @Texto + '%') and DropDownList1.SelectedValue='Texto'"
pero de esta manera no funciona
*******************************//
SelectCommand="SELECT [Texto] FROM [EstructuraLey] WHERE ([Texto] LIKE '%' + @Texto + '%')">
<SelectParameters>
<asp:ControlParameter ControlID="TextBox1" Name="Texto" PropertyName="Text" Type="String" />
</SelectParameters>
</asp:SqlDataSource>



MI SEGUNDA PREGUNTA ES LA SIGUIENTE: ¿Qué pasa con el GridView...? Porque en el GridView sólo le puedo agregar un SqlDataSource, ¿no?. Entonces, si elige la otra opción del DropDownList... ¿como carga los nuevos datos? ¿O tengo que crear un nuevo GridView?

GRACIAS POR VUESTRA AYUDA
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ASP.NET Gridview Dropdownlist

Publicado por Javier (30 intervenciones) el 10/06/2008 12:04:33
También he probado a hacer la consulta tal que así:

SelectCommand="SELECT [Texto] FROM [EstructuraLey] WHERE ([Texto] LIKE '%' + @Texto + '%') AND (DropDownList1.SelectedValue = DropDownList1.Items.FindByText("Texto").Value)">

Y así me da el siguiente error:

The multi-part identifier "DropDownList1.SelectedValue" could not be bound.
Cannot find either column "DropDownList1" or the user-defined function or aggregate "DropDownList1.Items.FindByText", or the name is ambiguous.

Por si ayuda algo...
Asias
P.D.: El de arriba, el Diabolo19, soy yo... que me equivoqué de nombre...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar