У меня есть GridView, который содержит столбцы Код, Опыт, Зарплата, Бонус
Данные для Код , Опыт и Зарплата столбцы взяты из BindingSource
, и мне нужно рассчитать данные для Бонус на основе Опыт работы и Зарплата .
Итак, я создал событие RowsAdded
для DataGridView
и добавил следующий код
int index = employeeBindingSource.Position;
Employee emp = (Employee)employeeBindingSource.Current;
double bonus = (emp.Experience < 4 ? 0.08f : 0.12f) * emp.Salary * 12;
employeeDataGridView.Rows[index].Cells[3].Value = bonus.ToString("0.00"); //setting value for bonus column
employeeBindingSource.MoveNext();
Но я получаю Баунс только для двух рядов.
Поэтому я прокомментировал код внутри этого события и создал другое событие. RowStateChanged
добавил вышеуказанный код, и он отлично работает.
В чем проблема с событием RowsAdded
? И является ли RowStateChanged
правильным событием для расчета столбца бонуса?
Спасибо.