2013-08-14 6 views
-1

J'ai 2 DropDownLists, le premier a une SqlDataSource avec un seul champ, et un autre DropDownList a une SqlDataSource avec une clause where basée sur la sélection de la première liste déroulante.sqldatasource et liste déroulante

Si j'appuie sur un bouton, la deuxième liste déroulante se remplit avec la requête mais comment puis-je la faire remplir après avoir sélectionné un élément du premier.

+2

Montrez votre code, il est toujours utile :) –

Répondre

0

vous pouvez gérer l'événement SelectionChangeCommitted de la première zone de liste déroulante. Et puis après avoir construit la source de données, vous pouvez l'assigner à votre deuxième combobox. Comme ci-dessous

private void comboBox1_SelectionChangeCommitted(object sender, EventArgs e) 
{ 
    //build your datasource with the query 
    comboBox2.DataSource = datasource; 
} 
0

Utiliser événement indice de changement sélectionné de la première liste déroulante pour remplir la deuxième liste

0

Je suis arrivé que cela fonctionne dans un de mes propres projets en ajoutant la méthode pour la deuxième liste déroulante la requête de la liste à un événement selectionChangeCommited. Quelque chose comme ceci:

private void comboBox1_SelectionChangeCommitted(object sender, EventArgs e) 
    { 
     fillComboBox2(); 
    } 
0
private void comboBox1_SelectionChangeCommitted(object sender, EventArgs e) 
{ 
    //Your SqlDataSource must have a parameter for selecting its records ("YourParameter") 
    //P.E. the SqlDataSource SelectCommand looks like this: 
    //"SELECT [id], [name] FROM [table] WHERE [id] = @YourParameter" 
    //Include a selectparameter <asp:Parameter Name="YourParameter" Type="Int32" /> 
    //inside your SqlDataSource. Next, do this: 
    sqldatasource2.SelectParameters("YourParameter").DefaultValue = comboBox1.SelectedValue 
    comboBox2.DataSource = sqldatasource2.Select(DataSourceSelectArguments.Empty) 
    comboBox2.DataBind() 
} 
Questions connexes