Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> сохранить результат редактирования грида, без перехода на другую строку 
V
    Опции темы
kulibin
Дата 28.4.2006, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 9.5.2005
Где: Украина, Запорожь е

Репутация: 1
Всего: 3



такая проблемка: если при редактировании записи в datagridview юзер без перехода на другую строку закрывает форму - то не сохраняются результаты редактирования этой строки. я обновляю данные в бд адаптером при закрытии формы. что-то не получается сохранить строку эту. пробовал акцептченжес - потом понял, что при этом просто теряются сведения о том, что строка вообще изменялясь. пробовал EndEdit. До сих пор мне кажется что он должен бы сохранять результаты редактирования - токо не сохраняется по прежнему нифига smile. Там вроде ещё коммит какой-то имеется - тоже нифига smile.
подскажите плз как это разрулить. 
PM MAIL WWW ICQ   Вверх
mr.DUDA
Дата 4.5.2006, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 8
Всего: 232



Это общая проблема у гридов, она связана с сырой реализацией механизма data binding в .NET, имхо. Неоднократно сталкивался с ней, работая с DevExpress-овскими гридами, да и в стандартных ту же картину наблюдаю. В общем, лечится это только с пом. метода EndCurrentEdit у CurrencyManager. 


--------------------
user posted image
PM MAIL WWW   Вверх
kulibin
Дата 4.5.2006, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 9.5.2005
Где: Украина, Запорожь е

Репутация: 1
Всего: 3



а кто такой "CurrencyManager"? smile. Зачем он нужен? 
PM MAIL WWW ICQ   Вверх
kulibin
Дата 4.5.2006, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 9.5.2005
Где: Украина, Запорожь е

Репутация: 1
Всего: 3



не понял что такое CurrencyManager и зачем он нужен.
вот как я решил проблемку эту:
Код

//завершаем редактирование в гриде:
dgv.EndEdit();
//завершаем редактирование в дататейбл, данные которой отображает грид:
((DataRowView)dgv.CurrentRow.DataBoundItem).Row.EndEdit();

я раньше пытался только первое действие делать - не получалось. теперь понял, что надо оба действия делать - и тогда всё нормательно фунциклирует.

да - зачем всётаки нужен этот CurrencyManager? интересно просто. хотя мне и без него как-то нормально работается вроде.
да - и про сырость  data binding в .NET smile - вскрытие показало что это не правда smile
вообще пока во 2-м фреймворке токо один раз натыкался на то, что может сырым показаться: упорно не хотел скрываться столбец в гриде при загрузке формы. причём на форме было два грида - и в первом нормально тем же способом три столбца пряталось(.visible=false). а во втором ничего полезного та же инструкция не делала - причём ошибки тоже не выдавала. я так и не понял в чём прикол был - и кто виноват - я или билл smile. думаю всёже что это мой бок. в причине я так и не разобрался - просто сделал скрытие этого столбца на уже видимой форме - работает. 
PM MAIL WWW ICQ   Вверх
mr.DUDA
Дата 4.5.2006, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 8
Всего: 232



Цитата(kulibin @  4.5.2006,  10:09 Найти цитируемый пост)
да - зачем всётаки нужен этот CurrencyManager? интересно просто. хотя мне и без него как-то нормально работается вроде.

CurrencyManager позволяет получить редактируемую строку в гриде.

Цитата(kulibin @  4.5.2006,  10:09 Найти цитируемый пост)
да - и про сырость  data binding в .NET  - вскрытие показало что это не правда 

возможно 


--------------------
user posted image
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0452 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.