/ / मेरा बाउंड डेटाग्रिड व्यू क्यों फेंक रहा है "ऑपरेशन मान्य नहीं है क्योंकि इसके परिणामस्वरूप SetCurrentCellAddressCore फ़ंक्शन" त्रुटि में पुनर्वित्त कॉल होता है? - सी #, नेट, विनफॉर्म, डाटाग्रिडव्यू

मेरा बाउंड डेटाग्रिड व्यू क्यों है "ऑपरेशन मान्य नहीं है क्योंकि यह SetCurrentCellAddressCore फ़ंक्शन" त्रुटि के लिए पुनर्वित्त कॉल में परिणाम देता है? - सी #, नेट, विनफॉर्म, डाटाग्रिडव्यू

एक बाध्यकारी जब DataGridView बाध्यकारी स्रोत पर नियंत्रण, मुझे अपने आवेदन में निम्न त्रुटि मिल रही है:

ऑपरेशन मान्य नहीं है क्योंकि इसके परिणामस्वरूप SetCurrentCellAddressCore फ़ंक्शन पर पुनर्वित्त कॉल होता है

बाध्यकारी स्रोत डेटा तालिका पर निर्भर करता है। और मैं डेटाग्रिड व्यू से रिकॉर्ड फ़िल्टर कर रहा हूं। और मैंने इसका इस्तेमाल किया dataGridView1_CellValueChanged() घटना जहां मैं DataGridView को फ़िल्टर कर रहा हूं। लेकिन जब मैं वर्तमान सेल से डेटा हटा रहा था, तो यह त्रुटि होती है।

मैं यह मुश्किल कैसे सुलझाऊँ?

उत्तर:

जवाब के लिए 2 9। 1

अपवाद उठाया जाता है DataGridView एक अनंत लूप होने से रोकने के लिए। इसका कारण आमतौर पर निम्न में से एक है:

  • वर्तमान में सक्रिय सेल पर एक ऑपरेशन किया जा रहा है, जबकि सक्रिय सेल बदल रहा है
  • एक सेल संपादन पहले से ही प्रगतिशील है, जबकि संपादन मोड की शुरुआत, समाप्ति या रद्द करना
  • कोई अन्य ऑपरेशन जिसके परिणामस्वरूप सक्रिय सेल बदल रहा है DataGridView अभी भी इसका उपयोग कर रहा है

के लिए अपने हैंडलर पर एक नज़र डालें CellValueChanged घटना और सुनिश्चित करें कि आप उपरोक्त में से कोई भी हैंडलर में नहीं कर रहे हैं।


जवाब के लिए 23 № 2

सहेजने के बाद डेटाग्रिड व्यू को रीफ्रेश करने का प्रयास करने की वजह से यह सबसे अधिक संभावना है। मेरा सुझाव है कि आप इसे कॉल करने के बजाय विधि का आह्वान करें।

   BeginInvoke(new MethodInvoker(PopulateControl ));

जवाब के लिए 2 № 3

मैंने पाया कि यह अपवाद इसलिए हुआ क्योंकि मेरे पास मेरे कोड में एक खाली DataGridView.CellValidated सब था। एक बार जब मैंने उस खाली उप को हटा दिया तो त्रुटि दूर हो गई।


जवाब के लिए 0 № 4

डेटा में एक आवेदन डालें। DoEvents () डेटा GridView.RowEnter भी यह कर सकते हैं।


जवाब के लिए 0 № 5

यह बहुत समान है (और वही बात हो सकती हैलेकिन एक सेल संपादन के बिना)। कुछ भी जो एक ही थ्रेड के बाहर डेटाग्रिडव्यू के साथ किया जाता है जो नियंत्रण मौजूद है (घटना, पृष्ठभूमि कार्यकर्ता, एक और धागा ...) को लागू करने की आवश्यकता है। यहां समाधान पर पढ़ें।

https://stackoverflow.com/questions/44456465/datagridview-invalidoperationexception-reentrant-call-to-setcurrentcelladdressco?noredirect=1#comment75919793_44456465