7

の行を離れた後、レコードを保存しようとしていDataGridViewます。

イベントを使用するソリューションを見てきRowValidatedましたが、行がソートされると、RowValidationイベントが発生する前にレコードが再ソートされます。また、Current プロパティを使用して行を取得しようとしましたBindingSourceが、現在のプロパティは既に変更されています。RowLeaving にも同じことが当てはまります。

RowChangedデータテーブルでイベントを直接使用しようとしましたが、問題なく動作します。

私はRowValidationイベントを使用してデータテーブルから変更を取得することになりました(GetChange())しかし、これは考えられないようです.

さらに、削除のためにUserDeletingRowイベントを使用しましたが、これも考えられないようです。

行を離れた後にレコードを保存するための最良の方法は何ですか?

4

2 に答える 2

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

于 2013-02-12T00:29:46.580 に答える