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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.01.2014, 11:48   #1  
Vasiliusis is offline
Vasiliusis
Участник
 
225 / 13 (1) ++
Регистрация: 30.01.2013
Вывод в таблицу на форме данных временной таблицы
Добрый день!
Есть форма, в той форме есть датасорс, который отображается в гриде.
Необходимо выбрать и отобразить некоторую выборку из таблицы. НО через фильтр и добавления range'ей этого не получится. Получится через временные таблицы (пробовал в лукапах).

Вопрос: как отобразить временную таблицу (содержащую требуемую выборку) в гриде на форме?

MS DAX 2009
Старый 24.01.2014, 11:55   #2  
tricky is offline
tricky
Участник
 
140 / 64 (3) ++++
Регистрация: 03.05.2005
Адрес: Гуково
DS.setTmpData(<курсор временной таблицы>)
Старый 24.01.2014, 12:05   #3  
Vasiliusis is offline
Vasiliusis
Участник
 
225 / 13 (1) ++
Регистрация: 30.01.2013
Цитата:
Сообщение от tricky Посмотреть сообщение
DS.setTmpData(<курсор временной таблицы>)
не работает.

X++:
public void executeQuery()
{
    TaskScheduleTable            schedule;

    schedule.setTmp();

    ttsbegin;
    schedule.Id = '123';
    schedule.insert();
    ttscommit;


    TaskScheduleTable.setTmpData(schedule);


    super();

}
Старый 24.01.2014, 12:14   #4  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Vasiliusis Посмотреть сообщение
не работает.
А курсор, в который помещаются данные, временный? TaskScheduleTable.SetTmp() где-нибудь делается? Например в init после super()?
За это сообщение автора поблагодарили: Vasiliusis (1).
Старый 24.01.2014, 12:19   #5  
Vasiliusis is offline
Vasiliusis
Участник
 
225 / 13 (1) ++
Регистрация: 30.01.2013
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
А курсор, в который помещаются данные, временный? TaskScheduleTable.SetTmp() где-нибудь делается? Например в init после super()?
оп-па... теперь делается, спасибо!
Старый 24.01.2014, 12:13   #6  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
Если TaskScheduleTable не назначена временной в АОТ'е, то TaskScheduleTable.SetTmp() тоже надо сделать
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: Vasiliusis (1).
Старый 24.01.2014, 12:17   #7  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Vasiliusis Посмотреть сообщение
Необходимо выбрать и отобразить некоторую выборку из таблицы. НО через фильтр и добавления range'ей этого не получится. Получится через временные таблицы
Обратите внимание, что табличный курсор сделать временным можно, но обратно нет!
Старый 05.02.2014, 08:41   #8  
Vasiliusis is offline
Vasiliusis
Участник
 
225 / 13 (1) ++
Регистрация: 30.01.2013
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Обратите внимание, что табличный курсор сделать временным можно, но обратно нет!
Теперь такая проблема:
Во обзоре все выводится как надо, но стоит мне переключиться на вкладку "разное" - данные пропадают, хотя executeQuery выполняется... это из-за потери позиционирования? как поступить в этой ситуации?...
Старый 05.02.2014, 10:16   #9  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,129 / 916 (35) +++++++
Регистрация: 03.04.2002
Цитата:
Сообщение от Vasiliusis Посмотреть сообщение
стоит мне переключиться на вкладку "разное" - данные пропадают, хотя executeQuery выполняется
что-то я не понял. При переходе на другую вкладку, executeQuery выполняется?
__________________
Isn't it nice when things just work?
Старый 05.02.2014, 10:54   #10  
Vasiliusis is offline
Vasiliusis
Участник
 
225 / 13 (1) ++
Регистрация: 30.01.2013
Цитата:
Сообщение от macklakov Посмотреть сообщение
что-то я не понял. При переходе на другую вкладку, executeQuery выполняется?
ну да, вызывается из метода TabChanged
Старый 05.02.2014, 19:22   #11  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Vasiliusis Посмотреть сообщение
ну да, вызывается из метода TabChanged
А зачем?

P.S.: На всякий случай ещё раз посоветую, если вдруг не обратили на ссылку внимание
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Отвечу не по существу вопроса, но по существу проблемы.

Я так понял что для отображения всех строк вы хотите связывать датасурс с постоянной таблицей, а для отображения сокращённого перечня строк со временной? Я правильно вас понял?

Я бы советовал вам всегда использовать постоянную таблицу, а для реализации фильтра присоединять вспомогательную таблицу через ExistsJoin.
Выборка произвольных записей одним запросом
связанные данные из разных компаний
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как join'ить временную таблицу и query на форме IvanS DAX: Программирование 1 07.05.2008 09:49
вывод количества записей в таблице на web форме и указание текущей страницы таблицы bambuk1960 DAX: Программирование 1 06.07.2006 13:27
Вывод данных в отчет Rect DAX: Программирование 7 30.05.2006 06:35
Как при удалении записи из таблицы подавить вывод запроса "Удалить запись?" Anders DAX: Программирование 2 05.05.2004 17:52
Объединить несколько полей таблицы в одном поле Grid-а на форме? storer DAX: Программирование 2 12.11.2003 14:08

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 17:57.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.