2009-12-22 7 views
0

J'ai un combobox dans lequel iam chargement combobox en utilisant le code suivant.Préoccupé par selectedindexchanged de dropdownlist

public void LoadCustomer1(ComboBox pCmbCustomer) 
     { 
      obj._dtInputParameter.Clear(); 
      obj.AddInputParameter("@Prm_OpFlag", "S", "String", 1); 
      //obj.strSPName = "prc_CUST_Details"; 
      obj.strSPName = "EditCustCombo"; 
      DataSet ds = obj.SqlExecuteFill(); 
      pCmbCustomer.DataSource = ds.Tables[0]; 
      pCmbCustomer.DisplayMember = "CustomerId"; 
      pCmbCustomer.ValueMember = "CustomerId"; 
      pCmbCustomer.Text = "--- Select Customer Id ---"; 
      pCmbCustomer.SelectedIndex = 0; 

     } 

problème est pCmbCustomer.DataSource = ds.Tables [0], l'événement sélectionné indexchanged de ComboBox est working.how puis-je éviter l'événement indexchanged sélectionné en liant combobox Quelqu'un peut-il aider?

+0

Pouvez-vous élaborer un peu votre problème? Comment avez-vous géré votre événement selectedIndexChanged? – anonymous

Répondre

1

Vous pouvez attacher au gestionnaire d'événements SelectedIndexChanged une fois que vous avez terminé de lier la liste déroulante. Ainsi, au lieu d'attacher l'événement directement dans le contrôle utilisateur, attachez-le dans votre codebehind à la fin de LoadCustomer1 ou à l'extérieur de LoadCustomer1 après l'appel de LoadCustomer1.

1

Évitez de manipuler selectedIndexChangedEvent autant que possible.

Évitez d'utiliser pCmbCustomer.Text = "--- Select Customer Id ---"; ce type d'instructions. Autrement dit, ne définissez pas le texte explicitement. Afficher le texte "--- Select Customer Id ---" en tant que membre de la liste.

Ensuite, utilisez cette instruction pCmbCustomer.SelectedIndex = 0,2,3...,n; lorsque vous en avez besoin.

1

J'utiliserais le SelectionChangeCommitted au lieu d'utiliser SelectedIndexChange si possible.

MSDN. http://msdn.microsoft.com/en-us/library/system.windows.forms.combobox.selectionchangecommitted.aspx

« SelectionChangeCommitted est levée uniquement lorsque l'utilisateur modifie la sélection de zone de liste déroulante Ne pas utiliser SelectedIndexChanged ou SelectedValueChanged pour saisir les changements de l'utilisateur, parce que ces événements sont aussi élevés lorsque la sélection change programme. "

Questions connexes