UltraGrid не отслеживает изменение или добавление строки.Посмотрите на ответ Майка Зальцмана в этой ветке на их форуме.
Это его ответ:
Сетка не отслеживает это.Если вы отредактируете строку в сетке и перейдете к другой строке, все изменения в предыдущей строке будут зафиксированы в источнике данных.Сетка не имеет дело с базой данных напрямую, она имеет дело только с ее локальным источником данных.Поэтому, если вы хотите отслеживать изменения в источнике данных, которые необходимо записать в базу данных, то об этом должен заботиться источник данных.Классы DataSet и DataTable имеют встроенную поддержку для отслеживания ожидающих изменений.Единственное, что вас может беспокоить в связи с сеткой, это то, что текущий ActiveRow в сетке может иметь ожидающие изменения, которые должны быть записаны в его DataSource.Для этого вы можете использовать DataChanged.Сетка будет автоматически фиксировать изменения, когда теряет фокус, но если вам нужно вручную принудительно зафиксировать изменения, вы можете использовать метод grid.UpdateData или метод Update в любой отдельной строке.