2010-12-13 65 views
0

J'ai ajouté une colonne déroulante dans DGridview mais je ne parviens pas à générer l'événement qui doit être déclenché lorsqu'une valeur quelconque du menu déroulant est sélectionnée. Voici le code pour ajouter la colonneDatagrid View Liste déroulante Gestionnaire d'événements

DataGridViewComboBoxColumn com = new DataGridViewComboBoxColumn(); 

      com.HeaderText = ""; 
      com.Items.Add("Print Invoice"); 
      com.Items.Add("Print Job Card");    
      com.Items.Add("Close Job Card");    
      createCol = false;    
      ViewActiveJobs.Columns.Add(com); 

Répondre

1

Essayez this.You doivent créer un nouveau gestionnaire d'événements pour Combobox et appeler cet événement dans

EditingControlShowing.

private void ViewActiveJobs_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) 

    { 

    comboBOX = (ComboBox)e.Control; 

    comboBOX .SelectedIndexChanged -=new EventHandler(comboBOX _SelectedIndexChanged); 
    comboBOX .SelectedIndexChanged +=new EventHandler(comboBOX _SelectedIndexChanged); 

    } 


    private void comboBOX _SelectedIndexChanged(object sender, EventArgs e) 

    { 

    ComboBox combo = sender as ComboBox; 
    string str=combo.SelectedIndex.ToString(); 

    } 
+0

aide beaucoup, mais il y a un problème qui messageBox OKapparaît 5 ou 4 fois quand je clique combobox –

+0

@ Afnan: J'ai simplement ajouté messageBox dans 'SelectedIndexChanged' .U peut y accéder a ComboBox et faire ce que vous voulez. –