मुझे निम्न संदेश मिल रहा है जब मैं डेटाग्रिडव्यू में अंतिम आइटम को निकालने का प्रयास करता हूं।सूची में अंतिम आइटम को हटाते समय डेटाबेस पर अमान्य ऑपरेशन अपवाद
डेटा बाइंडिंग सभी बाइंडिंग के लिए उपयुक्त सूची में एक पंक्ति नहीं मिल सकती है।
मेरे पास मेरे बाध्यकारी सेटअप निम्नानुसार हैं।
ExtendedBindingList<MyClass> bl = new ExtendedBindingList<MyClass>(GetDataFromDB());
BindingSource bs = new BindingSource();
bs.DataSource = bl;
dgv.DataSource = bs;
ExtendedBindingList बस कुछ सरल मैं एक साथ फेंक दिया छँटाई लागू करने के लिए और फ़िल्टरिंग और कुछ बुनियादी राज्य हठ है। डीजीवी डाटाग्रिड व्यू है। GetDataFromDB MyClass की एक सूची देता है।
समस्या केवल उठता है जब मैं DataGridView का उपयोग करने से पिछले आइटम दूर करने की कोशिश:
bs.RemoveCurrent();
जो अन्य हर समय काम करता है। समाधान के लिए मेरा एकमात्र संकेत सभी बाइंडिंग को हटाने और उन्हें पुनः लागू करना है, लेकिन यह एक आदर्श समाधान की तरह प्रतीत नहीं होता है।
EDIT बाइंडिंगलिस्ट सफलतापूर्वक अंतिम आइटम को हटाए जाने के बाद अपवाद केवल फेंक दिया जाता है। इसे बाहरी कोड में फेंक दिया जाता है, इसलिए मैं यह नहीं बता सकता कि इसे क्या फेंक रहा है।
तो, मैं यहां कुछ मदद के लिए SO पूछ रहा हूं :)।
अग्रिम धन्यवाद, जस्टिन
मैं डेटाग्रिड व्यू का उपयोग ग्रिड नहीं कर रहा हूं, लेकिन यह वही है जो मैं भी उपयोग कर रहा हूं। यह हर बार काम करता है जब मैं अंतिम आइटम को हटा देता हूं। –
यह मेरे उदाहरण में एक DataGridView है। बाइंडिंगसोर्स का भी उपयोग किया जाता है, लेकिन मैं बाध्यकारी स्रोत से नहीं, बाध्यकारी सूची से हटा देता हूं। बस इस कोड को आजमाएं। मुझे यह भी लगता है कि आपकी समस्या किसी भी तरह से अंतिम पंक्ति से संबंधित है जो तेजी से पंक्तियों को जोड़ने के लिए है (AllowUserAddNewRows = true)। मुझे याद है कि मुझे इसके साथ कोई समस्या थी और फिर मैंने इसे बंद करने का निर्णय लिया (AllowUserAddNewRows को गलत पर सेट करें)। – nightcoder
हम्म, मैं इसे आज़मा दूंगा। –