Механизм обновления данных в на формах
Имеется многопользовательское mdi-приложение баз-данных (C# WinForms - sqlserver).
Большинство форм - это сетка данных DataGridView расширенная на всю область.
Обновление DataGrid-ов происходит при первом открытии формы. Если один пользователь изменил строчку через свою программу, то другой пользователь не видит эти изменения. т. е. сетка DataGrid всегда показывает старые данные.
Хочу создать механизм обновления строчек DataGrid-ов следующим образом:
1. В БД создаю таблицу DataUpdate (Datetime ActionDate, string ActionName, string TableName, int RowID);
2. В БД на все Insert, Update, Delete всех таблиц создаю триггеры. Все триггеры дополнительно пишут в таблицу DataChangeTable ('18.04.2016 12:10:33', 'UPD/DEL/INS', 'PERSON', 88);
3. В С# cоздаю класс UpdateManager, который каждые 5 сек. получает новые данные из таблицы DataChangeTable и всем своим подписчикам вызывает метод OnDataChanged.
4. Все DataGrid делаю подписчиками UpdateManager-а, всем реализую метод OnDataChanged.