AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.06.2006, 12:42   #1  
if_maks is offline
if_maks
Участник
 
226 / 15 (1) ++
Регистрация: 26.08.2003
обновление FormDataSource
Всем привет!
Подскажите как можно обновить fds:
Происходит удаление записи из таблицы, необходимо обновить fds и показать что запись действительно удалилась визульно, при этом сохранить текущие фильтры и после этого передвинуть курсор на следующую позицию.
с помощью
fds.research();
можно сделать обновление и сохранить текущий фильтр, однако встать на сл. позицию в таблице:
fds.cursor().data(table);
fds.setCurrent();

не удается.
может я что то совсем не так делаю?
Старый 06.06.2006, 13:00   #2  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
А удаляется текущая запись?
Старый 06.06.2006, 13:07   #3  
if_maks is offline
if_maks
Участник
 
226 / 15 (1) ++
Регистрация: 26.08.2003
ага
Старый 06.06.2006, 13:17   #4  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Почему не воспользуетесь fds.delete()? Тогда ничего переоткрывать не надо.
__________________
Axapta v.3.0 sp5 kr2
Старый 06.06.2006, 13:22   #5  
if_maks is offline
if_maks
Участник
 
226 / 15 (1) ++
Регистрация: 26.08.2003
а как в этом случае убрать запрос "Удалить запись?"
?
Старый 06.06.2006, 13:24   #6  
if_maks is offline
if_maks
Участник
 
226 / 15 (1) ++
Регистрация: 26.08.2003
а вообще нет, не подойдет этот метод, дело в том что удаляться могут сразу несколько записей и в случае если у одной сработает deleteActon вся процедура прервется.
Старый 06.06.2006, 13:27   #7  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
А групповое удаление - промаркированые записи в гриде или какое-то условие?
__________________
Axapta v.3.0 sp5 kr2
Старый 06.06.2006, 13:30   #8  
if_maks is offline
if_maks
Участник
 
226 / 15 (1) ++
Регистрация: 26.08.2003
промаркированные записи.
Старый 06.06.2006, 13:38   #9  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Значит записи - на клиенте.

Такое предложение - из б/д удалять при помощи запроса, а из кэша датасоурса с помощью метода fds.cacheRemoveRecord()
__________________
Axapta v.3.0 sp5 kr2
Старый 06.06.2006, 13:41   #10  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Может просто запоминайте Recid записи, следующей за последней маркированной (или активной, если только одна строка), и потом, после удаления, с помощью findRecrod прыгайте на нее.
Старый 06.06.2006, 14:48   #11  
if_maks is offline
if_maks
Участник
 
226 / 15 (1) ++
Регистрация: 26.08.2003
AndyD, спасибо большое за идею с cacheRemoveRecord
отлично работает.
Старый 06.06.2006, 14:51   #12  
if_maks is offline
if_maks
Участник
 
226 / 15 (1) ++
Регистрация: 26.08.2003
kashperuk
я бы с удовольствием прыгнул но поле fds.research(); ничего не получается, в том числе и findRecord не работает.
если честно так и не понял почему...
Старый 06.06.2006, 14:52   #13  
if_maks is offline
if_maks
Участник
 
226 / 15 (1) ++
Регистрация: 26.08.2003
но после fds.research();
Старый 06.06.2006, 15:35   #14  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
у меня была следующая фигня
X++:
Common record=args.record();
...
ds.research();
ds.findValue(fieldNum(...), record.recID)
это не работало, т.к. Common - ссылочный тип: в результате research текущей становилось другая зспись, и record ссылался уже на нее (менялся common.recID)

излечилось изменением на
X++:
Common record=args.record().data();
За это сообщение автора поблагодарили: Poleax (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Обновление ... SerAl DAX: Программирование 0 14.04.2005 19:57
Обновление detail-таблицы DreamCreator DAX: Программирование 1 05.04.2005 15:57
Различные типы связей (LinkType) для FormDataSource Maxim Gorbunov DAX: База знаний и проекты 1 16.05.2004 13:20
Гибрид FormTableControl и FormDataSource Андре DAX: Программирование 27 01.10.2003 09:58
Собственный SQL запрос в FormDataSource Alexey DAX: База знаний и проекты 0 20.12.2001 00:35

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 17:09.