c# - Update Dataset when bound control changes value -
मैं अपने नियंत्रण को इस तरह एक डाटासेट में बांधाता हूं:
txt.DataBindings.Add ( "पाठ", डी एस, सत्य, डेटासॉर्सअपडेटेट.ऑनप्रॉपर्टी परिवर्तित); फिर मैं इस तरह के परिवर्तनों के लिए श्रोताओं को जोड़ता हूं
निजी शून्य अटैक चेंज लिस्टनर (डेटासेट डीएस) {foreach (dts.Tables में डेटाटाले डीटी) {dt.RowChanged + = नया डेटारव चेंज एवेंटहैंडलर (डीटी_रो चेंजेड); Dt.RowDeleted + = नया DataRowChangeEventHandler (dt_RowDeleted); Dt.TableNewRow + = नया DataTableNewRowEventHandler (dt_TableNewRow); }} शून्य dt_TableNewRow (ऑब्जेक्ट प्रेषक, DataTableNewRowEventArgs ई) {if (! View.Dirty) {View.Dirty = true; }} शून्य dt_RowDeleted (ऑब्जेक्ट प्रेषक, DataRowChangeEventArgs ई) {if (! View.Dirty) {View.Dirty = true; }} शून्य dt_RowChanged (ऑब्जेक्ट प्रेषक, DataRowChangeEventArgs ई) {if (! View.Dirty) {View.Dirty = true; }} लेकिन जब मैं पाठ बॉक्स में वैल्यू बदलता हूं तो मुझे घटनाएं नहीं मिलती हैं।
मुझे ईवेंट को ट्रिगर करने के लिए सभी पंक्तियों पर अंत कॉल करना होगा ।
क्या मैं डेटाबेस को ग़लत समझा है या क्या मैं कुछ गलत कर रहा हूं?
हां "गलत समझा": -)।
डेटाबैंकिंग को यूआई ऑब्जेक्ट्स और डेटासाउसे (आमतौर पर डाटासेट में डेटाटाइल) के बीच एक मध्य परत के रूप में माना जा सकता है। अंतर्निहित डेटासॉर्स में UI से परिवर्तन प्राप्त करने के लिए, आपको BindingSource के EndEdit को कॉल करना होगा। इसी तरह, यदि आप ऐसा नहीं करते हैं तो आप "रद्द करें" (अर्थात, यदि आप अपने डेटा स्रोत के मानों को वापस पाने के लिए UI द्वारा किए गए परिवर्तनों को वापस करना चाहते हैं) का उपयोग करके हमेशा परिवर्तनों को रद्द कर सकते हैं। आप अपनी आवश्यकता के अनुसार बाध्य करने के लिए बाध्य कर सकते हैं।
Comments
Post a Comment