Есть DataGridView, привязанная через bindingSource к таблице из dataContext.
Добавляю в соответствующую таблицу dataContext новую сущность, вызываю InsertOnSubmit(), потом SubmitChanges() для dataContext. После этого таблица в dataContext содержит нужную запись, DataSourceChanged у DataGridView срабатывает, но изменения не отображаются, хоть ты тресни.
Вызывал EndEdit, Refresh и т.д. на DataGridView, ResetBindings на bindingSource - не обновляется. Причем dataContext у обоих правильная, новая запись есть, в базу тоже записалась.
Они не отображаются СРАЗУ или вообще?
Переключись на другое окно, переключись обратно.
Если исправится, то надо делать связку InvalidateRect/UpdateWindow.
Если нет, то что-то с драйвером (не совсем корректно, но понято) Б.Д.
Пройдись после обновления программно по таблице (в контроле), есть ли новая запись в ней?
Создай обработчик на Insert / Update в контроле, посмотри, срабатывает ли он.
Попробуй другой драйвер БД)
Это не WTF, нормальная ситуация)))
[Ответ]
dn2k4 22:35 30.08.2010
Сообщение от Spectator:
Это не WTF, нормальная ситуация)))
Эээ... это на вашем ассемблере с оптимизацией всегда так? =)
Датасоурс-то для грида небось через линкю ручками сделал? Дык посмотри в каком оно состоянии и перезапроси. Ну или определи там ивент что-ли какой-нить =)
[Ответ]
SS20 07:34 31.08.2010
dn2k4, в dataSource новый элемент есть, но в List для bindingSource не появляется. При попытке добавить элемент в List вручную выскакивает исключение, что он там уже есть. Но его там нет) Хотя, если обработать исключение, в гриде становится все нормально.
Но, клянусь, господа, выглядит такой код ужасно, просто ужасно! )))
Spectator, вообще. Как вызывать перерисовку контрола, я знаю.
[Ответ]
Spectator 23:46 31.08.2010
Сообщение от dn2k4:
Эээ... это на вашем ассемблере с оптимизацией всегда так? =)
??? Если у вас всегда все работает - значит вы ничего не делаете.
Сообщение от SS20: Spectator, вообще. Как вызывать перерисовку контрола, я знаю.
Ищи в контроле (DataGridView) методы со словом Update, только не а-ла UpdateWindow, а более другие.
Ну и да - карфаген должен быть разрушен. в смысле бросайте пользоваться этим глюкалом)))
[Ответ]
X0R 00:40 01.09.2010
Сообщение от Spectator:
Ищи в контроле (DataGridView) методы со словом Update, только не а-ла UpdateWindow, а более другие.
прекращай уже ламерствовать. При изменении данных в контроле, он сам вызывает перерисовку.
Сообщение от Spectator:
Ну и да - карфаген должен быть разрушен. в смысле бросайте пользоваться этим глюкалом)))
ты на своем ассемблере будешь аналог одного только DataGridView год писать...
[Ответ]
Spectator 08:33 01.09.2010
Сообщение от X0R:
прекращай уже ламерствовать. При изменении данных в контроле, он сам вызывает перерисовку.
Я не ламерствую. Речь идет вроде о таблице. Так что узнает он об изменениях или нет - зависит от способа изменения данных. Если они идут обычным путем через общий DataSet - узнает. А если иным путем - нет.
Сообщение от X0R:
ты на своем ассемблере будешь аналог одного только DataGridView год писать...
Я пишу не на ассемблере 99.9% кода))) И DataGridView на нем писать никто и не подумает.
[Ответ]
SS20 10:32 02.09.2010
Спрошу тут же, чтоб новую тему не писать
Как в ASP.Net правильно заполнить значения полей формы?
Проблема такая - вызываю из одной формы другую, передавая id в querystring. В вызываемой форме в PageLoad нахожу элемент в dataContext по id и записываю значения его полей в тексбоксы. Потом правлю текст, жму кнопку - Юманарот! - опять вызывается PageLoad и перезаписывает значения заново! Введенный текст теряется.
Как все это правильно сделать, а то я ваще в этом нуб?