2013-02-11 47 views
7

Tôi đang cố gắng lưu bản ghi sau khi rời khỏi hàng trong một DataGridView.DataGridView Lưu thay đổi về thay đổi hàng

Tôi đã thấy các giải pháp sử dụng sự kiện RowValidated, tuy nhiên, khi các hàng được sắp xếp thì bản ghi sẽ được sử dụng trước khi sự kiện RowValidation được kích hoạt. Tôi cũng đã cố gắng để có được hàng bằng cách sử dụng các tài sản hiện tại BindingSource, nhưng tài sản hiện tại đã được thay đổi. Tương tự áp dụng cho RowLeaving tôi tin.

Tôi đã thử sử dụng sự kiện RowChanged trực tiếp trên dữ liệu và điều đó hoạt động OK.

tôi đã kết thúc bằng sự kiện RowValidation và nhận được những thay đổi từ DataTable (GetChange()), nhưng điều này không có vẻ ý tưởng.

Bên cạnh đó cho xóa tôi đã sử dụng sự kiện UserDeletingRow, nhưng một lần nữa điều này dường như không ý tưởng.

là gì cách tốt nhất để lưu hồ sơ sau khi rời khỏi hàng?

Trả lời

3

bạn đã lấy một cái nhìn tại .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; 
    } 
} 

nguồn: http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.rowleave.aspx

+2

Dường như không chứa các thay đổi trong 'RowLeave'. – user824911

Các vấn đề liên quan