2009-04-22 3 views
2

Puisqu'il n'y a pas de classe ErrorProvider dans .NETCF, comment puis-je implémenter des fonctionnalités similaires (pas nécessairement exactement comme ErrorProvider)? J'utilise toutes les constructions régulières de liaison de données pour lier des contrôles à une datatable, en utilisant la propriété DataRow.RowError et la méthode DataRow.SetColumnError, mais je ne trouve pas les événements sur DataTable, BindingManagerBase, etc. que je peux accrocher dans pour recevoir toute sorte de notification. Est-ce que je bloque l'appel d'une méthode pour itérer manuellement tous les contrôles de mon formulaire et modifier l'apparence du contrôle lié?Comment puis-je émuler ErrorProvider dans .NET Compact Framework?

Merci, MrB

Répondre

0

La classe ErrorProvider semble assez basique - en fait, un peu trop basique. Si vous avez Red Gate Reflector, je vous recommande de démonter la classe et de le regarder. Sinon, créez un Dictionary<Control, String>.

Voici une idée rapide sur la création de votre propre fournisseur:

Dictionary<Control, String> ErrorSet = new Dictionary<Control, String>(); 

public void SetError(Control control, String message) 
{ 
    // code for adding error information 
    ErrorSet.Add(control, message); 
} 

public String GetError(Control control) 
{ 
    // code for retrieving error information 
    return ErrorSet[control]; 
} 

public String Clear() 
{ 
    // code for clearing all errors 
} 

Je n'ai pas réflecteur R-G ici ou je fournirais des méthodes plus d'échantillons. Mais cela devrait fournir une sorte d'échantillon à partir duquel travailler.

Questions connexes