Vérifier si la zone de texte texte a été modifié depuis le formulaire a été ouvert
Howdy
J'ai un formulaire dans mon application qui dispose de 7 zones de texte. Dans le constructeur du formulaire j'exécute la méthode "MakeText()" qui insère des valeurs à partir d'un MySqlDataReader dans les zones de texte.
L'utilisateur peut modifier les valeurs dans les zones de texte et quand un bouton "soumettre" est cliqué, il sera exécuté une requête de mise à jour sur la base de données à écrire toutes les modifications apportées.
C'est bien beau, mais je trouve que c'est un gaspillage de ressources à l'interrogation de la base de données, même si l'utilisateur n'a pas à modifier le texte dans les zones de texte.
J'ai donc besoin d'une certaine manière à vérifier si l'utilisateur a modifié les valeurs dans les zones de texte une fois que le formulaire a été chargé.
J'aimerais le faire sur le niveau d'application au lieu de laisser la base de données de la gérer.
Comment puis-je faire cela?
EDIT: je viens de penser à cela. Peut-être que je pourrais mettre toutes les valeurs dans la classe des chaînes lors du chargement du formulaire et ensuite il suffit de vérifier que, avant d'exécuter la requête. Parfois, vous avez juste besoin de mettre une question en mots de penser de la réponse 😀
C'est le mieux que je pouvais penser de toute façon...
OriginalL'auteur Steinthor.palsson | 2011-02-26
Vous devez vous connecter pour publier un commentaire.
Vous pouvez stocker la valeur initiale de la .balise valeur de la zone de texte, puis il suffit de faire une comparaison entre le texte actuel et le texte de l'étiquette
OriginalL'auteur Kurru
Vous pouvez essayer quelque chose comme cela.
OriginalL'auteur Bala R
vous pouvez avoir un indicateur booléen liée à chacune de vos zones de texte et utiliser l'événement textchanged de la zone de texte lorsque l'événement est déclenché, il signifie que le texte par l'expéditeur dans la zone de texte a changé, vous devez définir le drapeau pour montrer que le texte de cette zone de texte a changé .
*si vous souhaitez yoiu pouvez utiliser la zone de texte.tag au lieu de le mentionné drapeau
OriginalL'auteur Asha
vous pourriez en faire un terrain d'
et de vérifier ensuite la TextChaged événement pour chaque zone de texte..
que paramètre d'événement le test = true;
puis soumettre est pressé, vérifier si test = true, si la mise à jour de la base de données
OriginalL'auteur Tirdyr
Créer une classe avec une propriété pour chaque zone de texte. Au sein de cette classe implémente la logique nécessaire pour déterminer si des modifications ont été apportées.
Puis utiliser la liaison de données pour fixer les zones de texte à une instance de votre classe.
OriginalL'auteur Boone
Heres une solution rapide basé sur mon commentaire, le programme d'installation en linqpad (n'a pas besoin probablement le générique)
Vous dirais quelque chose comme:
OriginalL'auteur asawyer
OriginalL'auteur anonym
Ont un coup d'oeil:
OriginalL'auteur anonym