GridView Colonne de validation, affichage du message d'erreur à ne pas perdre de vue
J'ai besoin de valider un gridView colonne telle que la somme de tous les éléments dans la colonne <=100;
Si l'utilisateur entre une valeur et la somme dépasse la limite je veux afficher un message d'erreur personnalisé.
J'ai essayé à l'aide de cet événement sur la colonne de repositoryedit:
void pinEditRepositoryItem_Validating(object sender, System.ComponentModel.CancelEventArgs e)
{
e.Cancel = true;
gridview1.SetColumnError(m_imixGridView.Columns["MyColumn"], "ColumnSum must be <= 100", DevExpress.XtraEditors.DXErrorProvider.ErrorType.Critical);
}
Cependant, lors de la mise
e.Cancel = true;
Je reçois le message par défaut "Valeur non Valide".
Si j'utilise
gridview1.SetColumnError(m_imixGridView.Columns["MyColumn"], "ColumnSum must be <= 100", DevExpress.XtraEditors.DXErrorProvider.ErrorType.Critical);
seulement, le message d'erreur est correct mais si je clique en dehors de la focus est perdu.
J'ai vu qu'il y a plusieurs méthodes pour valider les lignes, mais n'ai pas trouver une solution qui conviendra le mieux dans ce cas.
Est-il possible de désactiver 'unfocus' sur une cellule si la validation échoue?
Merci beaucoup!
OriginalL'auteur Dan Dinu | 2012-06-20
Vous devez vous connecter pour publier un commentaire.
Source
Je vous suggère de passer par le biais de liens suivants:
La Validation Des Lignes
La Validation Des Éditeurs
BaseView.ValidatingEditor Événement
Vérifier cet exemple:
Éditeur de validation prend place lorsque vous tentez de sauvegarder modifier la valeur (à l'aide de la
PostEditor
méthode) ou lors de la fermeture de l'actif de l'éditeur. Tout d'abord, la validation automatique est effectuée. L'éditeur détermine si elle peut accepter la valeur entrée. Après la validation automatique a été effectuée, leValidatingEditor
événement est déclenché. Gérer cet événement à la mise en place des contraintes sur les valeurs des cellules.Si votre état ne parvient pas ensuite définir la
e.Valid = false;
et lae.ErrorText = "ColumnSum must be <= 100";
et aussi de gérer leInvalidValueException
cas de contrôle gridview.OriginalL'auteur Niranjan Singh