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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.12.2006, 08:29   #1  
IvanS is offline
IvanS
Участник
Аватар для IvanS
 
241 / 44 (2) +++
Регистрация: 30.06.2006
Адрес: Екатеринбург
Сортировка поля на форме, который отображается Display методом
Доброго времени суток. Есть поле на форме, в которое отображается дата из связанной таблицы с помощью дисплей метода.
Как сделать так чтобы можно было сортировать и по этому полю тоже?
P.s. догадываюсь, что нужно изменять метод Sort
Старый 06.12.2006, 09:06   #2  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Вы неправильно догадываетесь
Сортировать по дисплейному полю нельзя. Сортировка указывается в запросе, оправляемом на сервер б/д, соответственно, сортировать можно только по полям запроса.
__________________
Axapta v.3.0 sp5 kr2
Старый 06.12.2006, 09:20   #3  
IvanS is offline
IvanS
Участник
Аватар для IvanS
 
241 / 44 (2) +++
Регистрация: 30.06.2006
Адрес: Екатеринбург
Цитата:
Сообщение от AndyD Посмотреть сообщение
Вы неправильно догадываетесь
Сортировать по дисплейному полю нельзя. Сортировка указывается в запросе, оправляемом на сервер б/д, соответственно, сортировать можно только по полям запроса.
То есть ни какой возможности отсортировать по этому полю нет?
Старый 06.12.2006, 09:22   #4  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
По дисплейному полю нельзя ни сортировать, ни искать, в общем оно только отображает что-то и все.
Если так уж нужна сортировка - делайте его не дисплейным.
Старый 06.12.2006, 09:28   #5  
IvanS is offline
IvanS
Участник
Аватар для IvanS
 
241 / 44 (2) +++
Регистрация: 30.06.2006
Адрес: Екатеринбург
Цитата:
Сообщение от oip Посмотреть сообщение
По дисплейному полю нельзя ни сортировать, ни искать, в общем оно только отображает что-то и все.
Если так уж нужна сортировка - делайте его не дисплейным.
Не дисплейным, значит добавить это поле в это таблицу?
Старый 06.12.2006, 09:42   #6  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
886 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Да , добавить ... Но не поле в таблицу, а датасорс в дизайн
Добавить датасорс по таблице , из которой берется дисплейным методом некая муть, за-join'нить его, и вот эту муть выводить в грид - тогда будет сортироваться .

Только меееедленно будет ...
И для редактирования придется выводить из корневого датасорса поле, которое на за-join'енный датасорс ссылается.

Последний раз редактировалось TasmanianDevil; 06.12.2006 в 09:49.
Старый 06.12.2006, 09:50   #7  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Цитата:
Сообщение от IvanS Посмотреть сообщение
Не дисплейным, значит добавить это поле в это таблицу?
Как вариант. Если очень надо. Тогда сортировка по этому полю будет во всех формах, где используется данная таблица. Есть и вариант, который в предыдущем сообщении предложили. Можно еще кучу способов придумать.

Если нужны еще способы, готов предложить. Только получится что-то типа Нильса Бора c барометром.
Старый 06.12.2006, 12:28   #8  
IvanS is offline
IvanS
Участник
Аватар для IvanS
 
241 / 44 (2) +++
Регистрация: 30.06.2006
Адрес: Екатеринбург
Цитата:
Сообщение от TasmanianDevil Посмотреть сообщение
Да , добавить ... Но не поле в таблицу, а датасорс в дизайн
Добавить датасорс по таблице , из которой берется дисплейным методом некая муть, за-join'нить его, и вот эту муть выводить в грид - тогда будет сортироваться .

Только меееедленно будет ...
И для редактирования придется выводить из корневого датасорса поле, которое на за-join'енный датасорс ссылается.
Мне кажется так не получится, потому что там выбирается одна из записей связанной таблице по некоторому условию. И тем более эта таблица добавлена в датасорс.
Старый 06.12.2006, 12:57   #9  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
886 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
IvanS, Вы не правы, гляньте аттачмент...

Только для подобных трюков однозначно индексы прошерстить для join-на, иначе на "веселых" объемах ох как "быстро" бегать при сортировке
Миниатюры
Нажмите на изображение для увеличения
Название: Clipboard.jpg
Просмотров: 542
Размер:	108.3 Кб
ID:	2295  

Последний раз редактировалось TasmanianDevil; 06.12.2006 в 13:01.
Старый 06.12.2006, 13:55   #10  
IvanS is offline
IvanS
Участник
Аватар для IvanS
 
241 / 44 (2) +++
Регистрация: 30.06.2006
Адрес: Екатеринбург
Цитата:
Сообщение от TasmanianDevil Посмотреть сообщение
IvanS, Вы не правы, гляньте аттачмент...
Только для подобных трюков однозначно индексы прошерстить для join-на, иначе на "веселых" объемах ох как "быстро" бегать при сортировке
Думаю просто надо объяснить как все обстоит:
Есть табл Заявки и ИсторияЗаявки. Связь 1-m Обе эти табл отображаются на форме. В Истории Заявки есть поле срок. Вот в гриде табл. Заявки есть поле которое display методом отображает ПОСЛЕДНИЙ срок текущей заявки из ИсторииЗаявок.

Вот. То есть вы правильно поняли? Так можно или нет сделать сортировку?
Старый 06.12.2006, 14:54   #11  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,318 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
через добавление нового датасорса в данном случае (т.к. присутствуют в конечном счете групповые операции в терминах SQL) нельзя.
В данном случае больше подойдет решение от oip. При попадании в историю заявок новой записи, которая изменяет значение дисплей-метода - просто требуется перезаписывать это новое поле. А по нему уже возможна полноценная сортировка и фильтрация. Такой прием (добавление дополнительных полей) кстати часто в Аксапте используется - к примеру при разноске накладной на услуги заполняется галка Posted в CustInvoiceTable, хотя до ее появления признаком разнесенной накладной на услуги являлся номер обычной накладной (InvoiceId).
__________________
Возможно сделать все. Вопрос времени

Последний раз редактировалось sukhanchik; 06.12.2006 в 14:57.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
проблема с display методом kitty DAX: Программирование 6 29.11.2007 19:24
Display метод на форме PavelSR DAX: Программирование 15 01.06.2006 13:50
Связанные поля в форме ravil DAX: Программирование 2 12.06.2003 13:48
Как воспользоваться display методом таблицы??? VES DAX: Программирование 3 02.04.2003 17:47

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

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

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