2010-10-26 3 views
1

J'ai une liste déroulante qui contient "HR", "Test" et "DEV". Je veux sur la base de la sélection "HR", "Test", et "DEV" les secondes valeurs déroulantes s'affichent.Liste déroulante dans l'application .NET Windows

private void additems() 
{ 
    //Controls.Add(cmbpackage); 
    cmbpackage.Items.Add("HR"); 
    cmbpackage.Items.Add("Test"); 
    cmbpackage.Items.Add("DEV"); 
    addmodules(); 
} 
private void addmodules() 
{ 
    if (cmbpackage.SelectedItem =="HR") 
    { 
     cmbmodule.Items.Add("ModuleHR1"); 
     cmbmodule.Items.Add("ModuleHR2"); 
     cmbmodule.Items.Add("ModuleHR3"); 
    } 

    if (cmbpackage.SelectedItem == "Test") 
    { 
     cmbmodule.Items.Add("ModuleTest1"); 
     cmbmodule.Items.Add("ModuleTest2"); 
     cmbmodule.Items.Add("ModuleTest3"); 
    } 

    if (cmbpackage.SelectedItem == "DEV") 
    { 
     cmbmodule.Items.Add("ModuleDEV1"); 
     cmbmodule.Items.Add("ModuleDEV2"); 
     cmbmodule.Items.Add("ModuleDEV3"); 
    } 

} 
+3

alors quelle est la question? quel est le problème auquel vous êtes confronté? Les valeurs –

+0

ne sont pas remplies dans la liste déroulante "cmbmodule" lors de la sélection des valeurs (HR, Test, DEV) dans la liste déroulante "cmbpackage". – sauravinfy

Répondre

0

Vous devez vous inscrire à l'événement SelectedIndexChanged de cmbPackage.

0

Tout d'abord merci à tous, maintenant, je reçois le changement de valeur déroulant sur la sélection de la première dropdwon. PFB le code source.

en utilisant System; en utilisant System.Collections.Generic; en utilisant System.ComponentModel; en utilisant System.Data; à l'aide de System.Drawing; en utilisant System.Linq; en utilisant System.Text; en utilisant System.Windows.Forms;

espace de noms TestExcel { public partial class Form1: Formulaire { Form1 (public) { InitializeComponent(); cmbpackage.Items.Add ("--- Veuillez sélectionner ---"); cmbpackage.Items.Add ("HR"); cmbpackage.Items.Add ("Test"); cmbpackage.Items.Add ("DEV"); }

private void cmbpackage_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     string selectedValue = cmbpackage.SelectedIndex.ToString();    

     if (selectedValue == "1") 
     { 
      cmbmodule.Items.Add("ModuleHR1"); 
      cmbmodule.Items.Add("ModuleHR2"); 
      cmbmodule.Items.Add("ModuleHR3"); 

     } 

     else if (selectedValue == "2") 
     { 
      cmbmodule.Items.Add("ModuleTest1"); 
      cmbmodule.Items.Add("ModuleTest2"); 
      cmbmodule.Items.Add("ModuleTest3"); 
     } 

     else 
     { 
      cmbmodule.Items.Add("ModuleDEV1"); 
      cmbmodule.Items.Add("ModuleDEV2"); 
      cmbmodule.Items.Add("ModuleDEV3"); 
     } 

    } 

} 

}

Maintenant, je veux faire l'index 0. Je veux dire la liste déroulante « S'il vous plaît Sélectionnez » se charge au moment de la charge de page uniquement et non en cliquant sur « cmbpackage ».

Je souhaite également modifier les valeurs drop dwon de "cmbmodule" en fonction des sélections dans la liste déroulante cmbpackage. Actuellement, il change mais toutes les valeurs sont stockées dans la liste déroulante "cmbmodule". Je veux que si je sélectionne "HR" seulement ModuleHR1, ModuleHR2, ModuleHR3 sera affiché et même pour reste "Test" et "DEV".

Questions connexes