2013-02-11 22 views
7

मैं DataGridView में पंक्ति छोड़ने के बाद रिकॉर्ड सहेजने का प्रयास कर रहा हूं।डेटाग्रिड व्यू पंक्ति परिवर्तन पर परिवर्तन सहेजें

मैंने देखा है कि समाधान RowValidated ईवेंट का उपयोग करते हैं, हालांकि, जब पंक्तियों को क्रमबद्ध किया जाता है तो रिकॉर्ड RowValidation ईवेंट से पहले चलाया जाता है। मैंने BindingSource वर्तमान संपत्ति का उपयोग करके पंक्ति प्राप्त करने का भी प्रयास किया, लेकिन वर्तमान संपत्ति पहले ही बदल दी गई है। मुझे लगता है कि RowLeaving पर लागू होता है।

मैंने डाटाबेस पर सीधे RowChanged ईवेंट का उपयोग करने का प्रयास किया है और यह ठीक काम करता है।

मैं

RowValidation घटना का उपयोग करने और datatable (GetChange()) से परिवर्तन हो रही समाप्त हो गया है, लेकिन इस विचार को नहीं लगता है। हटाता मैं UserDeletingRow घटना का इस्तेमाल किया के लिए इसके अलावा, लेकिन फिर से यह प्रतीत नहीं होता विचार।

क्या पंक्ति छोड़ने के बाद रिकॉर्ड को बचाने के लिए सबसे अच्छा तरीका है?

उत्तर

3

आप .RowLeave?

private void dataGridView1_RowEnter(object sender, 
    DataGridViewCellEventArgs e) 
{ 
    for (int i = 0; i < dataGridView1.Rows[e.RowIndex].Cells.Count; i++) 
    { 
     dataGridView1[i, e.RowIndex].Style.BackColor = Color.Yellow; 
    } 
} 

private void dataGridView1_RowLeave(object sender, 
    DataGridViewCellEventArgs e) 
{ 
    for (int i = 0; i < dataGridView1.Rows[e.RowIndex].Cells.Count; i++) 
    { 
     dataGridView1[i, e.RowIndex].Style.BackColor = Color.Empty; 
    } 
} 
पर एक नज़र लिया है

स्रोत: http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.rowleave.aspx

+2

'रोलीव' के दौरान परिवर्तनों में प्रतीत नहीं होता है। – user824911

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