Управления Datagridview Сохранить Изменения На Изменения Строки
Я пытаюсь сохранить запись после строки DataGridView.
Я видел, как решения используют RowValidated событие, однако, когда строки сортируются, то запись прибегает перед RowValidation событие. Я также попытался получить строку, используя BindingSource текущее свойство, но текущее свойство уже изменено. То же самое относится и к Роуливингу.
Я пробовал использовать RowChanged событие на datatable напрямую, и это работает ЛАДНО.
Я закончил тем, что использовал RowValidation событие и получение изменений из datatable (GetChange()), но это не идея.
кроме того, для удаления я использовал UserDeletingRow событие, но опять же, это не идея.
каков наилучший способ сохранения записей после выхода из строки?
2 ответов
вы взглянули на .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
вы пробовали DataGridView.RowValidating Event и .IsCurrentRowDirty?
private void dataGridView1_RowValidating(object sender, DataGridViewCellCancelEventArgs e)
{
if (dataGridView1.IsCurrentRowDirty)
{
//Do stuff
}
}