powered by simpleCommunicator - 2.0.34     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как вернуть старые значения в контролы после RejectChanges?
7 сообщений из 7, страница 1 из 1
Как вернуть старые значения в контролы после RejectChanges?
    #32329203
Полуэкт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
контролы в Винформе привязаны

Код: plaintext
1.
2.
3.
4.
this.lblRevenueTotal.DataBindings.Add( "Text" , SalesRow,  "revenueTotal" );[src]

делаю 

[src]SalesRow.RejectChanges();


надо что бы контролы вернулись в первоначальное состояние..

Как?
...
Рейтинг: 0 / 0
Как вернуть старые значения в контролы после RejectChanges?
    #32329292
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет под рукой студии. попробуй через CurrencyManager.Refresh(); - этот метод вроде бы и предназначен для принудительного обновления всех контролов
...
Рейтинг: 0 / 0
Как вернуть старые значения в контролы после RejectChanges?
    #32330289
Полуэкт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я CurrencyManager не использую (у меня там плоские контролы прицеплены к одной только записи.

сделал вот что:
Код: plaintext
1.
this.BindingContext[ "CorpSales" ].CancelCurrentEdit();
this.Refresh();


все почти работает. если изменить значение и потом откатить при помощи этого кода то все ок но только контрол не перерисовывается по this.Refresh();

если перейти на другой Tab (там используется TabControl) и потом вернуться то уже видишь старое значение. но это же не красиво.. пробовал табконтроловский tabs.Refresh(); тоже не работает.

получается надо как то BindingManagerBase преобразовать к CurrencyManager но не придумал как.. есть мысли?
...
Рейтинг: 0 / 0
Как вернуть старые значения в контролы после RejectChanges?
    #32330307
Полуэкт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
номер типа этого:

Код: plaintext
1.
BindingManagerBase bm = this.BindingContext[ "CorpSales" ];
((CurrencyManager)bm).Refresh();


не проходит - в рантайме дает Specified cast is not valid...
...
Рейтинг: 0 / 0
Как вернуть старые значения в контролы после RejectChanges?
    #32330340
Полуэкт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
последний вариант который тоже не работает:

Код: plaintext
1.
2.
3.
DataView dv = new DataView(salesDS.CorpSales);
CurrencyManager myMgr = (CurrencyManager) BindingContext[dv];
myMgr.Refresh();
salesDS.RejectChanges();
...
Рейтинг: 0 / 0
Как вернуть старые значения в контролы после RejectChanges?
    #32330357
Артем1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
DataView dv = new DataView(salesDS.CorpSales);
CurrencyManager myMgr = (CurrencyManager) BindingContext[dv];
myMgr.Refresh(); //А эти  2  строчки не наоборот?
salesDS.RejectChanges();


Или может SuspendBinding/ResumeBinding помогут?
...
Рейтинг: 0 / 0
Как вернуть старые значения в контролы после RejectChanges?
    #32330778
Полуэкт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не. перестановка не помогает тоже.

я попробую суспенд конечно. но уверен что не поможет. все методы которые направлены на слой данных работают прекрасно. проблема в том что после того как данные в источнике данных (datatable, datarow все что угодно) откатились нормально на форме остаются неоткаченные данные. и перерисовка происходит только если вручную заставить ее перерисовать (например передернуть странички).
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как вернуть старые значения в контролы после RejectChanges?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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