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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.10.2012, 15:19   #1  
Katuxa is offline
Katuxa
Участник
 
36 / 10 (1) +
Регистрация: 13.05.2011
Сортировка строки по цифрам
Всем добрый день!
Подскажите, пожалуйста, может кто сталкивался с такой ситуацией в AX2009. Есть лукап-форма. И нужно в ней строковое поле (с цифрами) отсортировать по цифрам.
Метод addSortField сортирует так: 1, 11, 12, 112, ..., 2, 21, ...3
А нужно так: 1,2,3,...11, 12, ...
Старый 23.10.2012, 15:21   #2  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
числовое поле создать и по нему сортировать
Старый 23.10.2012, 15:23   #3  
Katuxa is offline
Katuxa
Участник
 
36 / 10 (1) +
Регистрация: 13.05.2011
Числовое поле где? В самой таблице? Если да, то этот способ мне не очень подходит.
Старый 23.10.2012, 15:24   #4  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Либо храните в строке цифры с предваряющими нулями (т.е. 01, 02, 03) либо делайте для лукапа ещё одно поле уже не строковое, а числовое, и используйте для сортировки его.
Старый 23.10.2012, 15:25   #5  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,739 / 404 (17) +++++++
Регистрация: 23.03.2006
еще можно изменить тип выравнивания
За это сообщение автора поблагодарили: S.Kuskov (1).
Старый 23.10.2012, 15:30   #6  
Katuxa is offline
Katuxa
Участник
 
36 / 10 (1) +
Регистрация: 13.05.2011
а если можно по-подробнее с выравниванием, я пробовала - но что-то не выходит, может не там делала
Старый 23.10.2012, 15:30   #7  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Есть ещё один способ. Можно для используемого строкового типа данных задать правое выранивание. Прижатие данных влево или вправо

Вот тут про выравнивание хорошо написано http://axapta.mazzy.ru/lib/adjustment/

Последний раз редактировалось S.Kuskov; 23.10.2012 в 15:43.
Старый 23.10.2012, 15:44   #8  
Katuxa is offline
Katuxa
Участник
 
36 / 10 (1) +
Регистрация: 13.05.2011
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Либо храните в строке цифры с предваряющими нулями (т.е. 01, 02, 03) либо делайте для лукапа ещё одно поле уже не строковое, а числовое, и используйте для сортировки его.
Спасибо за идею насчет числового поля в лукапе, надо попробовать, правда еще не совсем понятно как в него затягивать эти числа.
Старый 23.10.2012, 16:02   #9  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Katuxa Посмотреть сообщение
Спасибо за идею насчет числового поля в лукапе, надо попробовать, правда еще не совсем понятно как в него затягивать эти числа.
Если хранить числа постоянно не хотите, то для лукапа придётся на лету заполнять временную таблицу (lookup не получается). Такой вариант возможен если записей в лукапе не очень много.
Старый 23.10.2012, 16:33   #10  
Player1 is offline
Player1
Участник
Самостоятельные клиенты AX
 
306 / 137 (5) +++++
Регистрация: 21.04.2008
Надо перед 1 наставить пробелов " 1" и т.д.
Пример форма "Активные пользователи", поле "Сеанс".
X++:
strRep(' ',5-strLen(int2str(i)))+int2str(i)
Старый 23.10.2012, 17:49   #11  
Katuxa is offline
Katuxa
Участник
 
36 / 10 (1) +
Регистрация: 13.05.2011
Цитата:
Сообщение от Player1 Посмотреть сообщение
Надо перед 1 наставить пробелов " 1" и т.д.
Пример форма "Активные пользователи", поле "Сеанс".
X++:
strRep(' ',5-strLen(int2str(i)))+int2str(i)
Спасибо, посмотрю как там реализовано.

В DAX2009 нет уже этого поля, есть код сеанса и оно не текстовое.

Последний раз редактировалось Katuxa; 23.10.2012 в 18:00.
Старый 23.10.2012, 18:13   #12  
Player1 is offline
Player1
Участник
Самостоятельные клиенты AX
 
306 / 137 (5) +++++
Регистрация: 21.04.2008
я вам скопировал как оно реализовано)) - добавляет пробелы и сортировка на форме работает как надо
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Сортировка в гриде с двумя DataSource ViV DAX: Программирование 15 05.06.2014 15:55
Цветные строки в Grid Sergo DAX: База знаний и проекты 14 19.04.2012 10:02
сортировка в подчиненном ds kitty DAX: Программирование 5 20.11.2007 01:07
При создании строки в закупке статус строки становится "Отменено" AlexUnik DAX: Функционал 4 27.09.2004 16:05
Функция "Удалить строки" Oks DAX: Функционал 1 03.07.2002 18:09

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

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

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