2011-07-20 12 views
82

मैं विंडोज प्रेजेंटेशन फाउंडेशन में एक डाटाग्रिड का निर्माण कर रहा हूं, और मुझे एक समस्या है। जब कोई उपयोगकर्ता मेरे डेटाग्रिड में किसी सेल पर डबल-क्लिक करता है, तो सेल संपादन मोड में जाता है। मैं इसे रोकना चाहता हूं। इसके बजाय मैं चाहता हूं कि उपयोगकर्ता पूर्ण पंक्ति का चयन करने में सक्षम हों - इसमें मूल्य संपादित न करें।मैं एक WPF डेटाग्रिड में संपादन कक्ष अक्षम कैसे कर सकता हूं?

मैं इसे कैसे बना सकता हूं ताकि क्लिक-ऑन सेल को संपादन मोड में डालने के बजाय डबल-क्लिक पूर्ण पंक्ति का चयन करें?

उत्तर

189

WPF DataGrid एक IsReadOnly संपत्ति आप True करने के लिए सेट कर सकते हैं कि यह सुनिश्चित करें कि उपयोगकर्ताओं को अपने DataGrid की कोशिकाओं संपादित नहीं कर सकते है।

आप आवश्यकतानुसार अपने DataGrid में अलग-अलग कॉलम के लिए यह मान भी सेट कर सकते हैं।

<my:DataGrid 
    IsReadOnly="True" 
/> 
+1

ग्रिड ग्रे हो गया है और एक अक्षम राज्य में दिखता है - Winforms से पठनीय राज्य के समान नहीं है। –

+2

मैं बुडा फ्लोरिन से सहमत हूं। इसे केवल पढ़ने के लिए सेट करना इसे और अधिक दिखता है जैसे यह अक्षम है। अक्षम और पढ़ें केवल अलग हैं क्योंकि केवल सामान्य रूप से आपको प्रतिलिपि बनाने के लिए पाठ का चयन करने देता है। जब आप DataGrid को केवल पढ़ने के लिए सेट करते हैं तो आप अब कक्षों में टेक्स्ट का चयन नहीं कर सकते हैं। – Nick

+0

@LeslieDavies अगर मैं उन्हें अक्षम रखना चाहता हूं तो क्या होगा, लेकिन जब भी मैं DEL दबाता हूं तो मैं डेटाग्रिड से आइटम को हटाने में भी सक्षम होना चाहता हूं? –

39

डेटा ग्रिड एक XAML संपत्ति IsReadOnly आप true करने के लिए सेट कर सकते हैं कि है। आप नई पंक्तियाँ जोड़ने के लिए उपयोगकर्ता को निष्क्रिय करना चाहते हैं, तो आप संपत्ति CanUserAddRows = "false"

<DataGrid IsReadOnly="True" CanUserAddRows="False" /> 

सेट इसके अलावा अधिक आप संपादन निष्क्रिय करने के लिए अलग-अलग स्तंभों पर IsReadOnly सेट कर सकते हैं।

1

आप संपादन कर पूरे ग्रिड को अक्षम करें, आप ग्रिड पर सत्य पर IsReadOnly सेट कर सकते हैं करना चाहते हैं:

संबंधित मुद्दे