Наследование от DataGridView и обработка события CellFormatting

дело в том что соответствующее

Первым шагом является объявление класса, производного от DataGridView: Почти во всех случаях, когда вы переопределяете один из методов Onххх, вы должны вызвать метод базового класса в конце или в начале заменяющего метода, в зависимости от того, что ваш метод делает. Дело в том, что соответствующее событие, которое может быть обработано в коде клиента, запускается именно методом базового класса. Кроме того, метод базового класса может производить какую-то дополнительную работу, которая обычно должна быть выполнена даже том случае, когда вы в методе производного элемента управления предусматриваете свою собственную обработку. Размещаете ли вы свой специальный код до или после вызова метода базового класса, определяется тем, воздействует ли ваш код на другие элементы класса, что может приводить к побочным эффектам в зависимости от действий, производимых с ними методом базового класса. Здесь нужно либо знать, что будет делать базовый метод, для чего можно воспользоваться инструментом, таким, как Reflector, чтобы изучить его реализацию, либо просто поэкспериментировать с вызовом метода, чтобы получилось именно то, что вам нужно. Итак, первым действием этого заменяющего метода OnCellFormatting Является вызов его реализации в базовом классе. Затем он проверяет, не является ли индекс строки нулем, и если является, обработчик просто возвращает управление, ничего больше не делая. Тем самым гарантируется, что значения ячеек первой строки всегда будут форматироваться обычным образом. Для строк после первой обработчик вызывает вспомогательный метод, проверяющий, не совпадает ли значение текущей ячейки со значением предыдущей ячейки в том же столбце. Если это так, обработчик устанавливает в качестве значения ячейки пустую строку, чтобы в ней ничего на отображалось. Как говорилось в главе 6, всякий раз, когда вы изменяете форматированное значение ячейки, следует установить флаг Format — TingApplied, Что и делается в листинге 8.1 после установки свойства Value в аргументе события.