Показать сообщение отдельно
Старый 11.04.2011, 20:17   #9  
Geo is offline
Geo
Участник
Аватар для Geo
 
258 / 47 (2) +++
Регистрация: 04.04.2008
Подобная задача, только проще: как обновить DataSource из самой формы

Имею связанные по InnerJoin датасорсы и общий грид на них. По обычной Button вызывается (в Clicked()) обработка, меняющая значения в нескольких записях в подчиненной таблице. Хочу увидеть их обновленными в гриде.

Если делаю:
X++:
_ds.reread();
_ds.refresh();
, то обновляется только текущая запись. (Здесь и далее, х_ds - это главный датасорс.)

Если добавляю к этому
X++:
_ds.refreshEx();
(как работало на другой форме в практически аналогичном случае) - всё равно только текущая обновляется.

Если делаю
X++:
_ds.executeQuery();
, слетает фильтр пользователя, что нежелательно.

Если делаю, как написано в это теме:
X++:
anytype currentCursor;

currentCursor = _ds.cursor();

// обработка...

_ds.research();
_ds.findRecord(currentCursor);
, то курсор не остается на записи, а ускакивает таки на первую.

С подчиненным датасорсом тоже всё это пробовал - вообще ничего не обновляется.


Никак не удается обновить записи и при этом остаться на текущей