У меня принцип бинда абсолютно такой же, как в примере... Проблемы были однозначно, почему - не очень помню. Суть такая. В окне редактирования иногда происходит пост в БД. При этом вызывается процедура, которая возвращает некоторые поля измененными (типа, автозаполнение). Почему-то (обнаружено эмпирическим путем) перед постом делаю:
rowView.EndEdit();
BindingContext[rowView].EndCurrentEdit(); |
По-моему, rowView.EndEdit() не гарантированно сразу закидывал данные в DataTable, и нужные данные постились через раз. А EndCurrentEdit() стопудово делал "Flush()". Так вот именно после выполнения EndCurrentEdit() rowView смотрел уже на совершенно другую DataRow. Я запоминал DataRow сначала, и после EndCurrentEdit приходится его искать, брать его DataRowView и делать перебинд контролов в окне редактирования. Если чего напутал - поправьте.
И, в общем, эта же самая заподляна всплывает то и дело в различных местах. Может быть кто-то может рассказать, как это живет и должно выглядеть при таком раскладе.
Возможно, стоит обратить внимание на изменение данных процедурой..
спасибо
─────────
∙ Иногда решительный шаг вперед - результат хорошего пинка сзади ∙