मान्य है मैं एक WinForms चेकबॉक्स है कि एक इकाई की रूपरेखा इकाई की संपत्ति के लिए बाध्य है है।databound मूल्य गलत जब तक पाठ बॉक्स/चेकबॉक्स
उदाहरण के लिए, मैं bindingSource.DataSource = myDog
एक चेकबॉक्स संपत्ति IsSleeping
करने के लिए बाध्य के साथ, ताकि उपयोगकर्ता बॉक्स से जांचने पर, IsSleeping
सच हो जाता है, और उपयोगकर्ता बॉक्स unchecks जब, IsSleeping
झूठा हो जाता है।
यह ठीक काम करता है। समस्या जब तक चेकबॉक्स मान्य है, जब फ़ोकस ले जाता है दूर चेकबॉक्स से कुछ और करने के लिए जो केवल तब होता है कि IsSleeping
का मूल्य अपडेट नहीं किया जाता है। इस प्रकार, यदि मैं ऐसा करने के लिए कुछ करना चाहता हूँ जब बॉक्स चेक नहीं किया:
private void IsSleepingCheckbox_CheckedChanged(object sender, EventArgs e)
{
OnDogPropertyChanged(myDog);
MyAnimalEntities.SaveChanges();
}
myDog.IsSleeping
अभी भी सच हो जाएगा, जब तक चेकबॉक्स का Validated
बाद में उठाया जाता है। इस प्रकार, जब गरीब myNaughtyKitty
(जो DogPropertyChanged
घटना के लिए सुन रहा है)myDog
के भोजन myDog
सो रहा है सोच पकवान से बाहर खाने के लिए आता है, myDog
वास्तव में सिर्फ जागने रहा है! अरे नहीं!
भी बदतर, MyAnimalEntities.SaveChanges()
अभी तक myDog
में परिवर्तन नहीं देखा है, इसलिए IsSleeping
का मूल्य डेटाबेस को बचाया कभी नहीं किया गया है। IsSleepingCheckbox_Validated
को .SaveChanges()
कॉल बढ़ते इस समस्या का समाधान नहीं होता है, क्योंकि अगर चेकबॉक्स चालू किए जाने पर, लेकिन कभी चेकबॉक्स से दूर फोकस ले जाए बिना तो प्रपत्र बंद कर दिया है, चेकबॉक्स पुष्टि कभी नहीं है और इस तरह अपने राज्य को बचा लिया कभी नहीं किया जाता है!
मुझे लगता है कि यह डाटाबेसिंग और चेकबॉक्स/टेक्स्टबॉक्स के साथ एक आम समस्या है, और वास्तव में मुझे ऑनलाइन विषय पर एक टन पोस्ट मिल गए हैं, लेकिन किसी को भी कोई समाधान नहीं लगता है। किसी को भी इस के लिए एक समाधान ढूँढने में सक्षम हो गया है?
आप गूगल में खोज करने के घंटे के बाद मेरे जीवन बचाया। धन्यवाद। – superjugy