Получение удаленной записи из bindingNavigator
Используя C# Winforms, у меня есть форма с BindingNavigator. Когда пользователь нажимает кнопку удаления, я хочу записать запись до ее удаления.
Нетрудно сказать, что кнопка "Удалить" была нажата с помощью
private void bindingSource_ListChanged(object sender, ListChangedEventArgs e)
{
if (e.ListChangedType == ListChangedType.ItemDeleted)
{
}
}
Однако BindingSource.ListChanged является завершенным событием, которое запускается после удаления строки. Когда это событие запускается, строка уже удалена, так как я могу перехватить ее?
Я привязываюсь к списку объектов.
this.bindingSource.DataSource = Controller.Data; // returning a List<Person>()
this.bindingNavigator.BindingSource = this.bindingSource;
,
1 ответ
BindingNavigator имеет ToolStripItem, называемый bindingNavigatorDeleteItem. Свойство DeleteItem для bindingNavigator было установлено в этот ToolStripItem. Вместо этого я установил это ни к чему. Затем установите событие клика для bindingNavigatorDeleteItem ToolStripItem
this.bindingNavigatorDeleteItem.Click += this.bindingNavigatorDeleteItem_Click;
private void bindingNavigatorDeleteItem_Click(object sender, EventArgs e)
{
this.bindingSource.EndEdit();
MyLogger( this.bindingSource.Current);
this.bindingSource.RemoveCurrent();
}