Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Refresh on Update - трабла :( / 3 сообщений из 3, страница 1 из 1
11.10.2004, 13:11
    #32732037
(`yka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Refresh on Update - трабла :(
Есть DataTable, которая отображается в гриде на одной форме. Есть форма редактирования, которой для бинда контролов передается rowView в виде
(DataRowView)BindingContext[OperationsGrid.DataSource].Current.
Обновление таблицы реализуется процедурой, которая возвращает select измененной записи. Этот select в общем случае возвращает дозаполненные поля и т.д.. Так вот, почему-то контролы в окне редактирования не подтягивают вазвращенные процедурой обновления значения, а в гриде все нормально. Update происходит при потере фокуса измененным контролом вызовом делегата, которому передается rowView и SqlDataAdapter. Весь остальной процесс редактирования проходит нормально.

Вопрос: как сделать так, чтобы синхронно с
(DataRowView)BindingContext[OperationsGrid.DataSource].Current для главного окна в окне редактирования обновлялся (DataRowView)BindingContext[rowView] ?

-----
Иногда решительный шаг вперед - результат хорошего пинка сзади
...
Рейтинг: 0 / 0
11.10.2004, 18:50
    #32732952
(`yka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Refresh on Update - трабла :(
Сам себе отвечаю...
В общем, если кому-нибудь станет интересно (довольно удачный способ редактирования строки таблицы в другой форме получился - передавать форме DataRowView [не нужно лишний раз искать строку]):
перед вызовом делегата (callback-функция для универсализации) делать BindingContext[rowView].SuspendBinding();
а после -
BindingContext[rowView].ResumeBinding();
Таким образом подмененные "третьей силой" данные подтянуться в контролы на форме.

Кстати.. народ! Кто захочет экспериментов - не делайте подобную механизьму, передавая для бинда контролов в форму DataRow! Учитесь на моей ошибке, и избежите сообщений типа (не помню точно) "Can't get property because it has the DBNull value.."

Всем спасибо! Заходите еще! :)
ЗЫ
гуру просьба не ржать громко - нормальной литературы по ADO.NET, а, тем более, с описанием всяких тонкостей и решений типичных проблем вроде сабжа, нет... приходится долго рыться, чтобы найти довольно очевидные (для некоторых посвященных) решения :/

-----
Иногда решительный шаг вперед - результат хорошего пинка сзади
...
Рейтинг: 0 / 0
12.10.2004, 17:40
    #32734805
SM
SM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Refresh on Update - трабла :(
Ех, а я как раз использовал DataRow и боролся с dbnull :)

А что дают эти
BindingContext[rowView].SuspendBinding();
и
BindingContext[rowView].ResumeBinding() ?
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Refresh on Update - трабла :( / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]