2013-02-11 163 views
7

我試圖在離開DataGridView中的行後保存記錄。DataGridView在行更改上保存更改

我已經看到解決方案使用RowValidated事件,但是,當行被排序時,記錄會在觸發RowValidation事件之前採取行動。我也嘗試使用BindingSource當前屬性獲取該行,但當前屬性已更改。我相信這同樣適用於RowLeaving。

我試圖直接在數據表上使用RowChanged事件,並且確實工作正常。

我結束了使用RowValidation事件,並充分利用數據表(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

在'RowLeave'期間似乎沒有包含更改。 – user824911 2013-02-12 01:50:32