2011-02-07 12 views
5

मेरे पास डेटाग्रिड व्यू है जहां SelectionMode = FullRowSelect और MultiSelect = False है।DataGridView पंक्ति चयन को टॉगल करें जहां SelectionMode पूर्ण RowSelect

जब कोई उपयोगकर्ता किसी पंक्ति पर क्लिक करता है तो इसे अपेक्षित के रूप में चुना जाता है। हालांकि, एक ही पंक्ति पर फिर से क्लिक करने से पंक्ति को अचयनित नहीं किया जाता है।

चयनित और अचयनित के बीच टॉगल करने के लिए पंक्ति चयन कैसे किया जा सकता है?

उत्तर

4

जहां तक ​​मुझे पता है कि बॉक्स कार्यक्षमता से कोई बाहर नहीं है जो ऐसा करेगा। DataGridView के SelectionChanged और CellClick घटनाओं का उपयोग करता है कि एक वर्ग स्तर चर चयन के राज्य के साथ पकड़े

public partial class Form1 : Form 
{ 
    private bool selectionChanged; 

    public Form1() 
    {    
     InitializeComponent(); 
    } 

    private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) 
    { 
     if (!selectionChanged) 
     { 
      dataGridView1.ClearSelection(); 
      selectionChanged = true; 
     } 
     else 
     { 
      selectionChanged = false; 
     } 
    } 

    private void dataGridView1_SelectionChanged(object sender, EventArgs e) 
    { 
     selectionChanged = true; 
    } 

} 

:

मैं प्रभाव आप निम्न कोड के साथ के लिए पूछ रहे हैं पाने में कामयाब रहे।

+0

यह अच्छी तरह से काम करता है, धन्यवाद। मैंने इस कक्षा में थोड़ी भिन्नता का उपयोग किया जो डेटाग्रिड व्यू और इनिटलाउट को ओवरराइड करके घटनाओं के लिए रजिस्टरों का विस्तार करता है। –

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