c# - Different number format for the clipboard? -


मेरे पास एक प्रोग्राम है जो System.Windows.Forms.DataGridView में संख्या प्रदर्शित करता है। मैं उन संख्याओं को उपयोगकर्ता की क्षेत्रीय सेटिंग्स के अनुसार स्वरूपित कर रहा हूं, जो समस्याओं का कारण बनता है जब मैं प्रतिलिपि बनाने और पेस्ट करने की कोशिश करता हूं तो Excel में नंबर कहते हैं। उदाहरण के लिए, 123 456 78 9, 00 फिनिश में उचित स्थानीयकृत प्रारूप है, लेकिन एक्सेल यह एक स्ट्रिंग के रूप में व्याख्या करता है, न कि संख्या के रूप में। या तो एक्सेल को हज़ार विभाजक संख्याओं में समझने या क्लिपबोर्ड के लिए एक अलग संख्या प्रारूप का उपयोग करने का कोई तरीका है?

आप अपना स्वयं का डीजीवी व्युत्पन्न वर्ग बना सकते हैं और GetClipboardContent () विधि को ओवरराइड कर सकते हैं। जो आपको स्ट्रिंग को उस तरीके से प्रारूपित करने देता है जो Excel के साथ संगत है। ऐसा कुछ:

  सिस्टम का उपयोग कर; System.Windows.Forms का उपयोग कर; वर्ग MyDGV: डेटाग्रिड दृश्य {सार्वजनिक ओवरराइड डेटा ऑब्जेक्ट GetClipboardContent () {यदि (यह। चुने गए Cells.Count.Count == 1 & amp; amp ;.CholectedCells [0]। ColumnIndex == 1) {string value = string.Format ("{0: N2} ", यह.चयनित सील्स [0]। वेल्यू); नया डाटाऑब्जेक्ट वापस लौटाएं (DataFormats.Text, मान); } वापसी का आधार। गेटक्लिपबोर्ड कंटेंट (); }}  

अनचेस्टेड।


Comments