Итак, у меня есть приложение для форм с 4 DataGrids, и у меня есть событие rowleave
, которое срабатывает при изменении ячейки, чтобы заменить backcolor
до тех пор, пока изменения не будут сохранены в БД. Я пытаюсь написать так, чтобы все 4 сетки могли использовать одни и те же события вместо того, чтобы записывать одно и то же событие 4 раза с разными именами сетки. Событие изменения ячейки прекрасно работает во всех сетках, но событие выхода из строки - нет. Вот что у меня есть:
private void gridNewBusinessPotential_RowLeave(object sender, DataGridViewCellEventArgs e)
{
var gridList = new List<DataGridView>();
DataGridView[] grids = {gridBusinessAgentSuppression,
gridBusinessFollowUpSuppressionData,
gridFollowUpDescription,
gridNewBusinessPotential};
gridList.AddRange(grids);
var focusedGrid = from dg in gridList
where Focused == true
select dg;
focusedGrid.FirstOrDefault().Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Bisque;
}
Я получаю сообщение об ошибке во время выполнения, в котором говорится, что focusedGrid
не установлен для экземпляра объекта. Если кто-нибудь знает лучший способ добиться этого, пожалуйста, сообщите мне. В противном случае, любая помощь будет принята с благодарностью.