2016-11-15 1 views
-1

Ich baue eine Fensterformularanwendung. Ich möchte ein Kombinationsfeld basierend auf dem, was die Person aus dem ersten Kombinationsfeld auswählt, ausfüllen. Alle meine Datensätze werden in einer einzigen Datenbanktabelle gespeichert.Füllen eines Kombinationsfelds basierend auf der Auswahl aus der Combo Box?

+4

und Ihre Frage ist? – pm100

+0

Sie benötigen einen Ereignishandler für die erste Box, die aufgerufen wird, wenn sich das ausgewählte Element ändert. Verwenden Sie das, um die zweite Kombination zu füllen – pm100

Antwort

0

Wie PM100 vorgeschlagen, müssen Sie auf das erste Kombinationsfelds SelectedIndexChanged Ereignis registriert werden und wenn sie gefeuert wird werden Sie die zweite Kombinationsfeld Werte abrufen basierend auf dem ersten Kombinationsfeld SelectedText oder SelectedItem Eigenschaft.

Zum Beispiel, sagen Sie zu der Veranstaltung auf Formularladeereignis registrieren werden:

cbx1.SelectedIndexChanged += Cbx1_SelectedIndexChanged; 

Dann, wenn das Ereignis ausgelöst wird:

private void Cbx1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    cbx2.Items.Clear(); // Clear to add new retreived items 

    if (cbx1.SelectedIndex != -1) 
    { 
     // Retrieve the items based on cbx1's selected item 
     var items = Repository.RetreiveItems(cbx1.SelectedText); 
     cbx2.Items.AddRange(items); 
    } 
} 

Und das ist es im Grunde. Sie können in Betracht ziehen, die Elemente asynchron abzurufen, damit die Benutzeroberfläche frei ist.

Verwandte Themen