ASP.NET - filtrar con dropdownlist a gridview

   
Vista:

filtrar con dropdownlist a gridview

Publicado por nenure (56 intervenciones) el 26/06/2008 11:09:38
Hola! por favor necesito ayuda. os explico. tengo 3 dropdownlist : uno donde estan los nombres de los trabajadore, otro fecha inicial que empezaron, y fecha final. tambien tengo un gridview para mostrar los datos filtrados. consigo que solo haciendo con el dropdownlist del nombre, salga en el gridview solo el nombre seleccionado, pero no se como hacer que luego seleccionando el siguiente dropdownlist de fecha inicial me vuelva a filtrar con los datos de ese trabajador, lo mismo para fecha final. no se si me he explicado, si no es asi , intentare hacerlo mejor... GRACIAS.
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:filtrar con dropdownlist a gridview

Publicado por x (445 intervenciones) el 26/06/2008 22:02:02
Lo unico que se me ocurre es que utilices la funcion DATEDIFF de SQL Server, eso en la consulta.

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:filtrar con dropdownlist a gridview

Publicado por nenure (56 intervenciones) el 27/06/2008 08:44:36
Hola x! gracias por contestar, pero igual soy yo la que no me he explicado bien, lo pondre con otros ejemplos. Yo tengo 3 dropdownlist y un gridview donde me aparecen los datos que he seleccionado en los dropdownlist. Lo que yo quiero es, imagina que tengo PAIS, COMUNIDAD AUTONOMA Y LOCALIDAD (los 3 dropdownlist). si yo selecciono un pais, quiero que me aparezcan solo las comunidades autonomicas de ese pais, y cuando selecciono comunidad autonoma, solo las localidades de esa comunidad... y al final me aparecerian en el gridview solo los datos de esa localidad.... espero que ahora se haya entendido, gracias!!
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:filtrar con dropdownlist a gridview

Publicado por x (445 intervenciones) el 27/06/2008 15:46:20
mmm Colocas la propiedad AutoPostBack igua a true en los DropDownList (menos en el ultmo), con una consulta llenas el primero, y cuando el evento SelectedIndexChanged del primer DropDownList ocurra, realizas una consulta utilizando su valor como filtro en la seccion de condiciones WHERE, y con ella llenas, el segundo DDL; y asi sigues hasta el ultimo DDL..

Espero haberme explicado bien, 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:filtrar con dropdownlist a gridview

Publicado por nenure (56 intervenciones) el 30/06/2008 21:21:22
mas o menos te he entendido, pero me podrias poner un ejemplo?? muchas gracias.
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:filtrar con dropdownlist a gridview

Publicado por x (445 intervenciones) el 30/06/2008 23:48:12
Creo que con copy/paste te funcionara, el metodo CrearTabla recibe el parametro que indica que es lo que esta seleccionado en el DropDown que disparo el evento, ahi es en donde tu puedes mandar llamar a tu metodo/funcion con el cual rellenas los demas DropDownLists.

Saludos

»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»

<html>
...

<asp:DropDownList runat="server" ID="DropDownList1" AutoPostBack="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
<asp:ListItem Selected="True">[ TODO ]</asp:ListItem>
<asp:ListItem Value="0">A</asp:ListItem>
<asp:ListItem Value="1">B</asp:ListItem>
<asp:ListItem Value="2">C</asp:ListItem>
</asp:DropDownList>
<asp:DropDownList runat="server" ID="DropDownList2" AutoPostBack="true" OnSelectedIndexChanged="DropDownList2_SelectedIndexChanged">
</asp:DropDownList>
<asp:DropDownList runat="server" ID="DropDownList3">
</asp:DropDownList>

...
</html>

...

class Test : Page {
...
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
if (DropDownList1.SelectedIndex > 0)
{
DropDownList2.DataSource = CrearTabla(DropDownList1.SelectedValue);
DropDownList2.DataValueField = "id";
DropDownList2.DataTextField = "nombre";
DropDownList2.DataBind();
DropDownList2.SelectedIndex = 0;
DropDownList3.Items.Clear();
}
else
{
DropDownList2.Items.Clear();
DropDownList3.Items.Clear();
}
}

protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
{
if (DropDownList1.SelectedIndex > 0)
{
DropDownList3.DataSource = CrearTabla(DropDownList2.SelectedValue);
DropDownList3.DataValueField = "id";
DropDownList3.DataTextField = "nombre";
DropDownList3.DataBind();
DropDownList3.SelectedIndex = 0;
}
else
{
DropDownList3.Items.Clear();
}
}

DataTable CrearTabla(string opcion)
{
DataTable tabla = new DataTable("prueba");

tabla.Columns.Add("id", typeof(int));
tabla.Columns.Add("nombre", typeof(string));

tabla.Rows.Add(tabla.NewRow());
tabla.Rows.Add(tabla.NewRow());
tabla.Rows.Add(tabla.NewRow());

tabla.Rows[0]["id"] = 1;
tabla.Rows[0]["nombre"] = opcion + "A";

tabla.Rows[1]["id"] = 2;
tabla.Rows[1]["nombre"] = opcion + "B";

tabla.Rows[2]["id"] = 3;
tabla.Rows[2]["nombre"] = opcion + "C";

return tabla;
}
...
}
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