हम अपने आवेदन पर विभिन्न ग्रिड में रंग कोड कोशिकाओं में सेलफॉर्मेटिंग ईवेंट का उपयोग करते हैं।क्या सभी कक्षों के लिए सेलफॉर्मेटिंग ईवेंट को आग लगाने के लिए डेटाग्रिड व्यू को मजबूर करने का कोई तरीका है?
हमारे पास कुछ सामान्य कोड है जो एक्सेल (और प्रिंट) में निर्यात को संभालता है लेकिन यह ब्लैक & व्हाइट में करता है। अब हम इसे बदलना चाहते हैं और ग्रिड से रंग उठा सकते हैं।
यह question & answer में मदद मिली है (और यह काम करता है) ... को छोड़कर वहाँ बड़ा ग्रिड कि एक ही स्क्रीन से बाहर भी साथ एक समस्या है। ग्रिड के भाग जिन्हें अभी तक स्क्रीन पर प्रदर्शित नहीं किया गया है (तार्किक रूप से) कभी भी अपने सेलफॉर्मेटिंग कोड को निकाल नहीं पाए जाते हैं, और इसलिए उनका अंतर्निहित रंग कभी भी सेट नहीं होता है। नतीजतन, Excel में, रंग कोडिंग पेज नीचे बाहर आधे रास्ते fizzles।
लगता तीन समाधान देखते हैं:
1) उपयोगकर्ता वह एक्सेल में एक निर्यात करने से पहले ग्रिड के सभी भागों में स्क्रॉल करने के लिए है बताओ। हा! नहीं एक गंभीर समाधान
2) प्रोग्राम एक्सेल में एक निर्यात करने से पहले ग्रिड के सभी भागों के लिए स्क्रॉल। (1)
3) हमारे निर्यात में एक्सेल कोड में निर्यात करने के लिए, शीर्ष पर कुछ आग लगाना जो डेटाग्रिड व्यू को अपने पूरे क्षेत्र को पेंट/प्रारूपित करने के लिए बताता है।
MyDataGridView.FormatAllCells()
वहाँ कुछ है कि कुछ इस तरह करता है ???
ओह, और वहाँ एक चौथा विकल्प है, लेकिन यह मौजूदा कोड उनमें काफी छू शामिल होगी:
4), CellFormatting घटना का उपयोग करना बंद लोड समय पर कोशिकाओं को फ़ॉर्मेट। इसके साथ समस्या यह है कि हमें अपने आवेदन में हर ग्रिड को फिर से करना होगा क्योंकि सेलफॉर्मेटिंग जिस तरह से हमने इसे वर्ष के बाद से किया है।
मुझे बुरा लगा है कि विकल्प 3 के लिए कोई समाधान नहीं होने वाला है। मैं जो सुझाव दे सकता हूं वह एक विकल्प है 5: आपके पास वर्तमान में आपका स्वरूपण तर्क है जो रंग को सेट करता है और शायद सेल पर आधारित कुछ अन्य शैली गुण मूल्य। यदि आप उस तर्क को एक नई विधि बनाते हैं तो आप इस विधि को सेल स्वरूपण और एक्सेल कोड दोनों से कॉल कर सकते हैं। इस तरह आप सुनिश्चित करते हैं कि एक्सेल और सेल स्वरूपण हमेशा समान होते हैं लेकिन अब आपके एक्सेल निर्यात के लिए सेल स्वरूपण पर भरोसा नहीं करते हैं। –
एक और विकल्प (4 का एक संस्करण) सेलवैल्यू का उपयोग करना है जो आपके स्वरूपण को करने के लिए किया गया है। –