2009-07-06 18 views
6

मैं एक WinForms DataGridView हमेशा कम से कम एक पंक्ति हर समय का चयन किया है करने के लिए लगता है कि है। मैं वास्तव में सब पर पंक्तियों का चयन करने में सक्षम होने में कोई दिलचस्पी नहीं है, मैं सिर्फ उपयोगकर्ता की जरूरत है कोई भी विचार क्यों वहाँ हमेशा है कम से कम 1 पंक्ति चयनित स्तंभ 1. में चेकबॉक्स का चयन करने में सक्षम हो? मैं इसे कैसे रोक सकता हूं? क्या यह कॉलम 1 में चेकबॉक्स का चयन करने की क्षमता को प्रभावित करेगा?सी # WinForms DataGridView - लगातार पंक्ति चयनित!

this.dataGridView1.AllowUserToAddRows = false; 
this.dataGridView1.DefaultCellStyle.WrapMode = DataGridViewTriState.True; 
this.dataGridView1.DefaultCellStyle.ForeColor = Color.Black; 
this.dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; 
this.dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells; 
this.dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; 
this.dataGridView1.MultiSelect = false; 
this.dataGridView1.RowHeadersVisible = false; 
this.dataGridView1.RowsDefaultCellStyle.BackColor = Color.WhiteSmoke; 
this.dataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.LightGray; 
this.dataGridView1.ColumnCount = 0; 

colSelect = new DataGridViewCheckBoxColumn(); 
colSelect.HeaderText = "Select Message"; 
colSelect.Width = 90; 
this.dataGridView1.Columns.Insert(0, colSelect); 
this.dataGridView1.Columns[0].DataPropertyName = "msgSelect"; 

उत्तर

3

आप DataGridView.ClearSelection() का उपयोग करना चाहिए किसी भी चयन (रों) को दूर करने के बाद आप अपने DataGridView आबादी है इसे बदलने के लिए उन्हें सिर्फ एक बार में एक चेकबॉक्स का चयन करना चाहते हैं।

इसके अलावा आप विशिष्ट कॉलम केवल पढ़ने की अनुमति दे सकते हैं जो केवल आपके चेकबॉक्स कॉलम में संपादन प्रतिबंधित करने की अनुमति देगा। DataGridViewColumn.ReadOnly Property

-1

DataGridView का चयन करें:

नीचे मेरी DataGridView सेटिंग नहीं है। फिर, प्रॉपर्टी विंडो में तब तक स्क्रॉल करें जब तक आपको प्रॉपर्टी सेक्शनमोड नहीं मिल जाता है और इसे पूर्ण कॉलम चयन में बदल जाता है।

वैकल्पिक रूप से आप CellSelect को

+0

बहुत यकीन है कि यह सही नहीं है ........ – Goober

+0

वास्तव में? एक पंक्ति चयनित क्यों है इसका कारण यह है कि आपका चयन मोड सेट है! इसलिए "एक पंक्ति" चुनना बंद करने के लिए आपको इसे बदलने की जरूरत है ... – Calanus

+1

मुझे नहीं लगता कि आप कैलानस प्रश्न को समझ गए हैं। वह जानना चाहता है कि वह डिफ़ॉल्ट रूप से सूची में पहली पंक्ति का चयन करने से डेटाग्रिड व्यू को कैसे रोक सकता है। – James

4

गोबर, मुझे एक समान समस्या का सामना करना पड़ा, जहां मुझे चेकबॉक्स का उपयोग करके पंक्तियों का चयन करने के लिए उपयोगकर्ता की आवश्यकता थी। ग्रिडव्यू सेटिंग्स के बावजूद ग्रिडव्यू पॉप्युलेट किए जाने के बाद पहली पंक्ति डिफ़ॉल्ट रूप से डिफ़ॉल्ट रूप से चुनी जाती है। पहली पंक्ति चयनित नहीं है, हर gridview से भर जाता है सुनिश्चित करने के लिए, एक ClearSelection करना():

this.dgridvw.DataSource = this.MyTable; 
this.dgridvw.ClearSelection(); 

ClearSelection() सभी चयनित पंक्तियों को साफ करता है।

0

सुनिश्चित करें कि आपके नहीं विधि बुला रहे हैं प्रपत्र निर्माता से डेटा लोड करने बनाओ। आप form.load() से इसे कहते हैं

भी DataGridView के बाद लोड कर इस

DataGridView.Rows [0] .Selected = झूठी;

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