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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 31.08.2009, 17:18   #1  
KpecT is offline
KpecT
Участник
 
56 / 10 (1) +
Регистрация: 14.08.2007
Фильтр в Grid
Всем привет!
Столкнулся с такой ситуацией.
Есть форма на ней грид состоящий из двух таблиц скажем(InventJournalTrans и связанная с ней InnerJoin InventDim) и поле combobox типа InventLocationId.
Необходимо при выборе в поле значения склада фильтровались записиси в Gride.

С одной таблицей все получается, но если 2 и связанные, то не выходит.
Старый 31.08.2009, 18:10   #2  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
sql на сервер правильный уходит?
Старый 31.08.2009, 18:33   #3  
KpecT is offline
KpecT
Участник
 
56 / 10 (1) +
Регистрация: 14.08.2007
Делала по подобию Журнала LedgerJournalTable, только с двумя связаными таблицами.
Сейчас работает только таким образом выбираю значение ничего не происходит в Gride, выбираю второе значение в Gride фильтруется по предыдущему значению.

Метод modified на поле combobox
X++:
...
ret = super();

inventLocationId = combInventLocationId.text();
InventJournalTrans_ds.executeQuery();
InventDim_ds.executeQuery();
...
Старый 01.09.2009, 07:31   #4  
Freeangel is offline
Freeangel
Участник
 
173 / 55 (2) ++++
Регистрация: 01.04.2005
Попробуйте сначала перечитать подчиненный запрос
За это сообщение автора поблагодарили: KpecT (1).
Старый 01.09.2009, 08:32   #5  
KpecT is offline
KpecT
Участник
 
56 / 10 (1) +
Регистрация: 14.08.2007
Мне как раз эта мысль пришла в голову, когда я ехал на работу :-) Вчера тупил.
Старый 01.09.2009, 11:25   #6  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от KpecT Посмотреть сообщение
Делала ...
Цитата:
Сообщение от KpecT Посмотреть сообщение
... когда я ехал на работу :-) Вчера тупил.
Сколько ж вас там?

Лучше покажите, как вы именно фильтр применяете на основании inventLocationId.
И в каком методе
Старый 01.09.2009, 16:48   #7  
KpecT is offline
KpecT
Участник
 
56 / 10 (1) +
Регистрация: 14.08.2007
На форме:
1. Объявляем глобальную переменную в методе ClassDeclaration()
2. В dataSource в методе init() инициализируем поле, по которому собираемся фильтровать.
В executeQuery() присваиваем значение глобальной переменной (см. шаг 1)
3. Перекрываем метод modified() у поля InventLocationId, там присваиваем новое значение глобальной переменной и вызываем у dataSource’ов метод executeQuery().

Последний раз редактировалось KpecT; 01.09.2009 в 16:54.
Старый 01.09.2009, 20:44   #8  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
647 / 350 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Цитата:
Сообщение от KpecT Посмотреть сообщение
Есть форма на ней грид состоящий из двух таблиц скажем(InventJournalTrans и связанная с ней InnerJoin InventDim) и поле combobox типа InventLocationId.
ComboBox - для енумов. Это у вас лукап. И похоже, что вы путаете чистый контрол и контрол, отображающий конкретное поле. У вас просто на контроле забит EDT.
Цитата:
Сообщение от KpecT Посмотреть сообщение
На форме:
1. Объявляем глобальную переменную в методе ClassDeclaration()
2. В dataSource в методе init() инициализируем поле, по которому собираемся фильтровать.
В executeQuery() присваиваем значение глобальной переменной (см. шаг 1)
3. Перекрываем метод modified() у поля InventLocationId, там присваиваем новое значение глобальной переменной и вызываем у dataSource’ов метод executeQuery().
п.3. попробуйте вместо метода modified() использовать selectionChange(), в котором будут вызываться executeQuery(). Также, похоже, что вы дважды присваиваете глобальной переменной значение, достаточно только в executeQuery().

P.S. Кстати, а что там внутри executeQuery()?
__________________
// no comments

Последний раз редактировалось dech; 01.09.2009 в 21:04.
Старый 02.09.2009, 15:08   #9  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
647 / 350 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Не забудьте у контрола MyStringEdit поставить AutoDeclaration в Yes:
X++:
MyStringEdit.extendedDataType(extendedtypenum(SalesId));
__________________
// no comments
Теги
grid, фильтр

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axaptapedia: Filter-by-Grid Blog bot DAX Blogs 2 30.05.2012 13:39
Dynamics AX: DAX 4.0 Filter by Grid [Update] Blog bot DAX Blogs 0 27.04.2007 17:10
Advanced programming: Grid data and view manipulations batiskaf_new DAX: Программирование 15 21.06.2006 11:44
Программируемый фильтр по Grid ArturK DAX: Программирование 6 01.03.2004 09:23

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

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

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