2011-11-14 70 views
6

Tengo una simple pregunta sobre los filtros. Tengo 4 listas desplegables que filtran los datos en mi aplicación web de la tabla de la base de datos MySQL. La primera lista desplegable ya está seleccionada mostrando solo un project_id pero las otras listas desplegables muestran todos los valores posibles de la base de datos, esto es lo que hice hasta ahora.Cómo filtrar los valores de la lista desplegable por otra lista desplegable en ASP.NET, C#

Pero quiero mostrar solo los valores de datos para ese proyecto en particular seleccionado.

Es ASP.NET 4.0, C# detrás y base de datos MySQL utilizada. Cualquier ayuda será apreciada. Gracias

Respuesta

6

de check out siguientes enlaces para poblar la lista desplegable en cascada.

http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/CascadingDropDown/CascadingDropDown.aspx

http://www.codeproject.com/KB/aspnet/CascadingDropDown.aspx

http://www.aspsnippets.com/Articles/Creating-Cascading-DropDownLists-in-ASP.Net.aspx

Código:

<table> 
    <tr> 
     <td>First</td> 
     <td><asp:DropDownList ID="DDLFirst" runat="server" AutoPostBack="true" 
       onselectedindexchanged="DDLFirst_SelectedIndexChanged"></asp:DropDownList></td> 
    </tr> 
    <tr> 
     <td>Secord</td> 
     <td><asp:DropDownList ID="DDLSecond" runat="server" AutoPostBack="true" 
       onselectedindexchanged="DDLSecond_SelectedIndexChanged"> 
      <asp:ListItem Text="Select" Value="Select"></asp:ListItem>  
      </asp:DropDownList></td> 
    </tr> 
    <tr> 
     <td>Thrid</td> 
     <td><asp:DropDownList ID="DDLThird" runat="server"><asp:ListItem Text="Select" Value="Select"></asp:ListItem> </asp:DropDownList></td> 
    </tr> 
</table> 

// Código detrás protegida void Page_Load (object sender, EventArgs e) { si (IsPostBack) {// su código para enlazar la primera gota downlist

 } 
    } 

    protected void DDLFirst_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     if (DDLFirst.SelectedIndex > 0) 
     { 
      string FirstDDLValue = DDLFirst.SelectedItem.Value; 
      // below your code to get the second drop down list value filtered on first selection 


     } 

    } 

    protected void DDLSecond_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     if (DDLSecond.SelectedIndex > 0) 
     { 
      string SecondDDLValue = DDLSecond.SelectedItem.Value; 
      // below your code to get the third drop down list value filtered on Second selection 


     } 
    } 
+0

Gracias chicos, realmente me ayudó. Entonces lo que necesito es AJAX ToolKit y control CascadignDropDown. – Pepys

+0

¿Hay alguna otra forma de hacerlo? Sin el Toolkit de AJAX ... de alguna manera no funciona para mí y me confundo ...: [ – Pepys

+1

Puedes hacerlo por devolución de datos. cuando el evento Dropdownlist SelectedIndexChanged enlaza la segunda lista desplegable. y en el segundo seleccionado, el índice cambiado enlaza la tercera lista drowdown. –

Cuestiones relacionadas