2010-12-03 6 views
6

J'ai une fonction de réglage des éléments dans une zone de liste déroulante et un élément doit être défini par défaut commedu réglage par défaut dans zone de liste déroulante

--sélectionnez films--

public void SetOperationDropDown() 

    { 

     int? cbSelectedValue = null; 
     if(cmbOperations.Items.Count == 0) 
     { 
      //This is for adding four operations with value in operation dropdown 
      cmbOperations.Items.Insert(0, "PrimaryKeyTables"); 
      cmbOperations.Items.Insert(1, "NonPrimaryKeyTables"); 
      cmbOperations.Items.Insert(2, "ForeignKeyTables"); 
      cmbOperations.Items.Insert(3, "NonForeignKeyTables"); 
      cmbOperations.Items.Insert(4, "UPPERCASEDTables"); 
      cmbOperations.Items.Insert(5, "lowercasedtables"); 
      //ByDefault the selected text in the cmbOperations will be -SELECT OPERATIONS-. 
      cmbOperations.Text = "-SELECT OPERATIONS-"; 
     } 
     else 
     { 
      if(!string.IsNullOrEmpty("cmbOperations.SelectedValue")) 
      { 
       cbSelectedValue = Convert.ToInt32(cmbOperations.SelectedValue); 
      } 
     } 
     //Load the combo box cmbOperations again 
     if(cbSelectedValue != null) 
     { 
      cmbOperations.SelectedValue = cbSelectedValue.ToString(); 
     } 
    } 

Quelqu'un peut-il suggérer une façon de le faire?

Répondre

14

J'ai réécrit cette réponse pour clarifier certaines choses.

D'abord, le texte « par défaut » doit être ajouté comme élément de combo ainsi. L'utilisation de la propriété combo.Text ajoute simplement un texte descriptif qui est combobox « perdu » premier utilisateur de temps faire quelque chose avec un contrôle. Si vous souhaitez avoir un texte "par défaut" permanent dans votre liste déroulante, vous devez l'ajouter en tant qu'élément de liste déroulante.

par le code que vous avez fourni, il suffit de modifier le

cmbOperations.Text = "-SELECT OPERATIONS-";
à

cmbOperations.Items.Insert(0, "-SELECT OPERATIONS-");

Notez que cette façon, vous ajoutez l'article "-SELECT OPERANDS-" à la position 0e (lire en premier) dans la liste. Assurez-vous également que tous les éléments suivants sont augmentés de 1, car ils sont maintenant déplacés d'un espace vers le bas dans la liste.

Enfin, mettre

cboOperations.SelectedIndex = 0;
ligne à la fin du code. Ce faisant, vous dites à combobox d'afficher votre élément "par défaut" lorsque le formulaire (ou le contrôle) est chargé.

Encore une chose. Je ne suis pas sûr de ce que vous voulez accomplir avec le code au-delà de la configuration des éléments de liste déroulante, mais si vous voulez vérifier quel utilisateur a choisi la propriété cboOperations.SelectedIndex qui contient l'élément actuellement sélectionné dans la liste déroulante. Vous pouvez ajouter simplement

if(cboOperations.SelectedIndex == someIntValue){...}
Le reste est votre logique de programme;)

Questions connexes