
| Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел. |
![]() |
||
Обновление DataGridView
|
||
| Философия, технологии, алгоритмы! |
![]() |
|
|
Опции темы |
|
|
#1 |
|
FatSince2010
|
Обновление DataGridView
Подскажите, кто знает, по C#.
Есть DataGridView, привязанная через bindingSource к таблице из dataContext. Добавляю в соответствующую таблицу dataContext новую сущность, вызываю InsertOnSubmit(), потом SubmitChanges() для dataContext. После этого таблица в dataContext содержит нужную запись, DataSourceChanged у DataGridView срабатывает, но изменения не отображаются, хоть ты тресни. Вызывал EndEdit, Refresh и т.д. на DataGridView, ResetBindings на bindingSource - не обновляется. Причем dataContext у обоих правильная, новая запись есть, в базу тоже записалась. WTF?! |
|
|
|
|
#2 |
|
Форумец
Сообщений: 44,495
Регистрация: 27.05.2003
Возраст: 48
|
Они не отображаются СРАЗУ или вообще?
Переключись на другое окно, переключись обратно. Если исправится, то надо делать связку InvalidateRect/UpdateWindow. Если нет, то что-то с драйвером (не совсем корректно, но понято) Б.Д. Пройдись после обновления программно по таблице (в контроле), есть ли новая запись в ней? Создай обработчик на Insert / Update в контроле, посмотри, срабатывает ли он. Попробуй другой драйвер БД) Это не WTF, нормальная ситуация))) |
|
|
|
|
#3 |
|
Пессимист
Сообщений: 618
Регистрация: 22.07.2004
|
|
|
|
|
|
#4 |
|
FatSince2010
|
dn2k4, в dataSource новый элемент есть, но в List для bindingSource не появляется. При попытке добавить элемент в List вручную выскакивает исключение, что он там уже есть. Но его там нет) Хотя, если обработать исключение, в гриде становится все нормально.
Но, клянусь, господа, выглядит такой код ужасно, просто ужасно! ))) Spectator, вообще. Как вызывать перерисовку контрола, я знаю. |
|
|
|
|
#5 |
|
Форумец
Сообщений: 44,495
Регистрация: 27.05.2003
Возраст: 48
|
??? Если у вас всегда все работает - значит вы ничего не делаете.
Ищи в контроле (DataGridView) методы со словом Update, только не а-ла UpdateWindow, а более другие. Ну и да - карфаген должен быть разрушен. в смысле бросайте пользоваться этим глюкалом))) |
|
|
|
|
#6 | |
|
старый хрыч
Сообщений: 6,334
Регистрация: 17.12.2006
Возраст: 38
|
Цитата:
ты на своем ассемблере будешь аналог одного только DataGridView год писать... |
|
|
|
|
|
#7 | |
|
Форумец
Сообщений: 44,495
Регистрация: 27.05.2003
Возраст: 48
|
Цитата:
Я пишу не на ассемблере 99.9% кода))) И DataGridView на нем писать никто и не подумает. |
|
|
|
|
|
#8 |
|
FatSince2010
|
Спрошу тут же, чтоб новую тему не писать
Как в ASP.Net правильно заполнить значения полей формы? Проблема такая - вызываю из одной формы другую, передавая id в querystring. В вызываемой форме в PageLoad нахожу элемент в dataContext по id и записываю значения его полей в тексбоксы. Потом правлю текст, жму кнопку - Юманарот! - опять вызывается PageLoad и перезаписывает значения заново! Введенный текст теряется. Как все это правильно сделать, а то я ваще в этом нуб? А, все нашел. !IsPostBack Последний раз редактировалось SS20; 02.09.2010 в 17:42. |
|
|