2009-10-10 22 views
9

से बाध्यकारी स्रोत को अनइंड करने का सही तरीका मेरे पास बाध्यकारी स्रोत <> ऑब्जेक्ट्स है, जो बाइंडिंग स्रोत के डेटासोर्स पर सेट है। यह डेटाग्रिड व्यू के डेटासोर्स पर सेट है।डेटाग्रिड व्यू

मैं किसी भी संभावित मेमोरी लीक का कारण नहीं बन रहा हूं, इसलिए सोच रहा हूं कि डेटा के साथ समाप्त होने पर इन कनेक्शनों को अनइंड करने का कोई पसंदीदा तरीका है या नहीं।

datagridview.DataSource = null; 
bindingsource.DataSource = null; 
bindingsource.Clear(); 

फिर से बाँध के लिए::

मैं सोच रहा हूँ

bindingsource.DataSource = bindinglist<myObjects>; 
datagridview.DataSource = bindingsource; 

इस आदेश सही है, या यह वास्तव में फर्क पड़ता है? क्या मैंने कुछ भी छोड़ा है जो वहां होना चाहिए?

किसी भी पॉइंटर्स की सराहना की, धन्यवाद।

उत्तर

12

डेटाग्रिडव्यू में शून्य को असाइन करना डेटासोर्स ग्रिड के डेटा स्रोत को साफ़ करने का सबसे अच्छा तरीका है, आप सही हैं।

11

यदि आप कस्टम कॉलम का उपयोग करते हैं, तो डेटासोर्स को साफ़ करने से पहले ऑटोजनेर कॉलम को गलत पर सेट करें। यह सुनिश्चित करेगा कि आपके कस्टम कॉलम संरक्षित हैं। अन्यथा वे अगले डेटाबिंड पर साफ़ हो जाएंगे और ऑटो उत्पन्न होंगे।

datagridview.AutoGenerateColumns = false; 
datagridview.DataSource = null; 

संपादित करें: यह सुनिश्चित नहीं है कि यह क्यों मतदान किया गया था। गैर ऑटो जनरेट किए गए कॉलम के लिए यह सही समाधान है। मेरे पास यह साबित करने की परियोजना है। मुझे आशा है कि किसी को यह उपयोगी लगेगा।

संबंधित मुद्दे