2009-03-06 9 views
0

J'ai un winForm avec un composant dataGridView qui contient des membres d'une équipe. Ces membres ont chacun un rôle assigné et d'autres propriétés qui sont listées dans une colonne dans la grille, mais dans le but de ce que je veux atteindre, elles ne sont pas pertinentes. J'ai également ajouté un bindingNavigator avec des boutons add, edit et delete. Ce que je voudrais mettre en œuvre, c'est que le bouton Modifier/Supprimer devrait être désactivé lorsque je sélectionne une ligne contenant un membre de l'équipe dans un certain rôle (Key Account Manager et quelques autres) et être activé lorsque le membre sélectionné n'a pas tel rôle.Activer/Désactiver BindingNavigatorItems en fonction de la ligne sélectionnée

Alors, comment puis-je configurer cela? Y a-t-il un événement pour la ligne sélectionnée en cours ou la sélection d'une nouvelle ligne à laquelle je peux ajouter mon code?

Je pense quelque chose le long des lignes de ce il pseudocode:

if (SelectedRow.DataboundObject.Role == "KEY_ACCOUNT_MANAGER") 
{ 
    bindingNavigatorChangeItem.Enabled() = false; 
    bindingNavigatordeleteItem.Enabled() = false; 
} 

Répondre

0

J'ai finalement compris cela et cela fonctionne parfaitement. Ce que je devais faire était d'ajouter du code à l'événement SelectionChanged sur mon DataGridView:

var member = teamRoleBindingSource.Current as TeamRole; 

if (member != null && member.RoleCode == "KEY_ACCOUNT_MANAGER") 
{ 
    bindingNavigatorDeleteItem.Enabled = false; 
    bindingNavigatorChangeItem.Enabled = false; 
} 
Questions connexes