मैंने सीएसवी प्रतिपादन विस्तार में अनुकूलित करके इसे स्वयं समस्या हल कर दी है ताकि इसे टेक्स्टबॉक्स की टूलटिप प्रॉपर्टी को कॉलम हेडर के रूप में उपयोग किया जा सके। टूलटिप संपत्ति रिक्त स्थान और अन्य विराम चिह्न की अनुमति देगी, इसलिए आपको कॉलम को नाम देने के लिए लचीलापन देता है। यह आपको एक प्रासंगिक टूल टिप देने का अच्छा साइड इफेक्ट भी है, जो आपको याद दिलाता है कि आप किस कॉलम को एक लंबी रिपोर्ट पर देख रहे हैं जहां हेडर दिखाई नहीं दे सकता है!
नोट: डिज़ाइनर में, आपने डेटा पंक्ति के टेक्स्टबॉक्स का टूलटिप सेट किया है, न कि हेडर का टेक्स्टबॉक्स।
यह आसानी से हासिल नहीं किया जाता है क्योंकि सभी प्रतिपादन एक्सटेंशन को सीलबंद कक्षाओं के रूप में चिह्नित किया जाता है। इसलिए इसे लागू करने के लिए, मैंने एक डिकंपेलर का उपयोग किया और सीएसवी से संबंधित सभी कोड को अपने स्वयं के प्रोजेक्ट में प्रस्तुत किया। फिर उस पंक्ति को बदल दिया जो टेक्स्टबॉक्स की टूलटिप संपत्ति से पढ़ने के लिए हेडर टेक्स्ट लिखता है।
CsvColumnHeaderHandler नामित आप विधि के लिए देख रहे कक्षा में OnTextBoxBegin और विशेष रूप से लाइन:
this.m_visitor.WriteValue(textBox.ToolTip, this.m_excelMode);
यह कस्टम प्रतिपादन विस्तार तो हो सकता है:
this.m_visitor.WriteValue(textBox.DataElementName, this.m_excelMode);
बस इस पढ़ने के लिए बदल रिपोर्ट सर्वर पर तैनात और यह पूरी तरह से काम करता है।
आपको यह जानने की आवश्यकता नहीं है कि इसके लिए एक प्रतिपादन एक्सटेंशन कैसे लिखना है क्योंकि, जैसा कि मैंने कहा था, मैंने अभी कोड को कॉपी (डिकंपिल्ड) किया है। हालांकि, आपको एक कस्टम प्रतिपादन एक्सटेंशन असेंबली को तैनात करने के बारे में जानने की आवश्यकता होगी। तैनाती पर अधिक जानकारी यहां पाई जा सकती है: https://msdn.microsoft.com/en-us/library/ms154516.aspx
इस समस्या को हल किया गया। आप इस लिंक http://stackoverflow.com/a/35406795/5929210 के बाद समाधान पा सकते हैं –