Управления 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
}
}