मैं ऑफिस (2008) के लिए विजुअल स्टूडियो टूल्स का उपयोग कर एक्सेल 2007 एड-इन विकसित कर रहा हूं। मेरे पास कई सूची ऑब्जेक्ट्स के साथ एक शीट है, जो स्टार्टअप पर डेटाटेबल्स के लिए बाध्य हैं। जब वे बाध्य होते हैं, तो वे सही ढंग से स्वत: व्यवस्थित करते हैं।.NET - एक्सेल लिस्ट ऑब्जेक्ट डाटाबेस पर ऑटोसाइजिंग
समस्या तब आती है जब वे फिर से बाध्य होते हैं। मेरे पास रिबन बार पर एक कस्टम बटन है जो डेटाबेस पर वापस जाता है और उपयोगकर्ता द्वारा इनपुट किए गए कुछ मानदंडों के आधार पर अलग-अलग जानकारी पुनर्प्राप्त करता है। इस नए डेटा वापस आता है और ListObjects को फिर से बाध्य है - हालांकि, इस बार वे नहीं बदला जाता है और मैं एक अपवाद प्राप्त करें:
ListObject बाध्य नहीं किया जा सकता क्योंकि यह डेटा फिट करने के लिए आकार नहीं बदला जा सकता है। ListObject नई पंक्तियों को जोड़ने में विफल रहा। सूची ऑब्जेक्ट के नीचे ऑब्जेक्ट्स को स्थानांतरित करने में असमर्थता के कारण इसका कारण हो सकता है।
इनर अपवाद: "रेंज वर्ग की विधि सम्मिलित विफल"
कारण: Microsoft.Office.Tools.Excel.FailureReason.CouldNotResizeListObject
मैं पर बहुत सार्थक कुछ भी खोजने के लिए सक्षम नहीं था Google या MSDN पर यह त्रुटि। मैं थोड़ी देर के लिए इसे समझने की कोशिश कर रहा हूं, लेकिन इसका कोई फायदा नहीं हुआ।
Basic कोड संरचना:
//at startup
DataTable tbl = //get from database
listObj1.SetDataBinding(tbl);
DataTable tbl2 = //get from database
listObj2.SetDataBinding(tbl2);
//in buttonClick event handler
DataTable tbl = //get different info from database
//have tried with and without unbinding old source
listObj1.SetDataBinding(tbl); <-- exception here
DataTable tbl2 = //get different info from database
listObj2.SetDataBinding(tbl2);
नोट इस अपवाद तब होता है कि जब भी ListObject घट रहा है, और न केवल जब यह बढ़ता है।