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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.05.2009, 10:40   #1  
vazerdim is offline
vazerdim
Участник
 
77 / 40 (2) +++
Регистрация: 06.09.2008
Фильтр на форме без datasource
Здравствуйте. Столкнулся с проблемой. Есть форма с ListView. Форма на подобие той, что у оборотно-сальдовой ведомости. Но на этой форме нет datasource. И нет стандартного фильтра. Но пользователь хочет обязательно фильтровать значения. Что-то не как не могу сообразить как сделать лучше. Раньше не когда не работал с ListView всегда обходился простыми средставами. Заранее благодарен за помощь.
Старый 12.05.2009, 11:21   #2  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
если ListView - то только пересоздавать каждый раз при изменении фильтра (обычный контрол на форме). Стандартный фильтр работает ТОЛЬКО с датасорсом ПРИНЦИПИАЛЬНО.
Старый 12.05.2009, 14:45   #3  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Да, к сожалению, у FormListItem не наблюдается свойства типа visible, которое бы здесь пригодилось для решения задачки относительно малой кровью...

В общем, надо психоаналитически работать с пользователем. Может, ему сгрузить содержимое ListView в Excel и пусть там уфильтруется?
Старый 12.05.2009, 20:58   #4  
vazerdim is offline
vazerdim
Участник
 
77 / 40 (2) +++
Регистрация: 06.09.2008
Да наверное выгрузка в Excel. Это самый оптимальный вариант решения задачи. Спасибо за помощь.
Старый 13.05.2009, 12:29   #5  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Помечтаем на уровне идеи... а, впрочем, вполне реализуемо...
Возможно пользователь хотел бы не только фильтровать строки ListView, но и выполнять операции, разрешенные на элементах списка. Например, если двойной щелчок на сумме в форме "Анализ счета" отображает перечень проводок, из которых эта сумма складывается (drill-down), то, фильтруя строки в Excel, пользователь, наверняка, захочет похожего поведения и при щелчке на ячейке таблицы.

В Excel подобное поведение при управлении из Аксапты обеспечить сложно, но можно внедрить на форму "маленький Excel" - ActiveX OWC.Spreadsheet и настроить обработку его событий по аналогии с реакцией ListView, обеспечив пересчет текущей строки Spreadsheet в индекс (и колонку) соответствующего item'а.

Spreadsheet можно посадить в диалог, вызываемый по кнопке рядом с ListView.
Старый 13.05.2009, 13:01   #6  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от vazerdim Посмотреть сообщение
Есть форма с ListView. Форма на подобие той, что у оборотно-сальдовой ведомости.
В очередной раз убеждаютсь, что ОСВ - антипаттерн.

У ListView нет не только фильтрации.
У него нет сортировки.
У него нет автоотчета.
Все данные ListView полностью "живут" на клиентском компьютере.
У него масса недостатков.

Предлагаемый вариант с Excel мне кажется еще более пугающим своей бредовостью.

Мне кажется, что если уж так хочется, то просто заполните временную таблицу и сделайте нормальный грид по нормальной временной таблице.
__________________
полезное на axForum, github, vk, coub.
Старый 13.05.2009, 14:25   #7  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
Цитата:
Мне кажется, что если уж так хочется, то просто заполните временную таблицу и сделайте нормальный грид по нормальной временной таблице.
Тоже хотел предложить, чуть расширю. Если уж очень хотят видеть listView, то можно использовать временную таблицу в качестве датасорса. При этом, на форме отображать listView, который по executeQuery будет перестраиваться, используя queryRun на датасорсе.
В этом случае, появится возможность любой фильтрации по любым полям, и автоотчет будет работать и т.п. Ну... и сортировку можно привинтить.
Но вообще, согласен с mazzy, что listView это тяжелый и трудный контрол.
Лучше обычный грид, там программинга почти не нужно
Старый 13.05.2009, 18:15   #8  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Ребята, всё хорошо, всё не вызывает сомнения в правильности как таковой - особенно для новых, еще не решенных, задач. Только не забывайте, что разработчику может ставиться задача не ПЕРЕписать, а ДОписать, деликатно сохранив нетронутым уже написанное, пусть и не очень удачное.

Типа ты строитель железной дороги. Вот до этой станции уже построено, а дальше твои рельсы. А то, что мы (чудаки?) почему-то положили на своей построенной части узкоколейку, а не нормальной ширины путь - не обсуждается. Возможные варианты:
* продолжай тоже узкоколейкой;
* продолжай (якобы, на твой взгляд, правильной) широкой колеей, а на этой станции делай сопряжение и каждый раз переставляй колеса у поезда;
* переделай уже построенное на широкий путь и продолжай таким же.

Вероятно, право на жизнь имеют все три варианта, а выбор конкретного зависит от ряда дополнительных факторов. Если, например, уже построен всего 1 километр, а предстоит еще аж 1000, то, наверное, всего 1 километр можно и переделать. Об обратной ситуации не берусь сказать с уверенностью
Старый 13.05.2009, 18:58   #9  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
Цитата:
Сообщение от Gustav Посмотреть сообщение
Ребята, всё хорошо...
Всё верно, хочется подвести черту.
Ко всему предложенному следует относится как к возможным вариантам решения подобных задач - в будущем(!) или настоящем. А что выберет топик-стартер - это остаётся за ним.
Теги
listview, критерии, фильтр

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Динамическое создание DataSource на форме, и добавление элементов дизайна. epack DAX: Программирование 12 24.11.2010 15:31
Фильтр на форме InventClassifierItemSelection Andrux DAX: Программирование 11 06.05.2009 10:48
Фильтр на Веб форме egorych DAX: Программирование 3 21.06.2007 18:32
Фильтр на форме sah DAX: Программирование 5 10.11.2005 11:31
Как получить значение поля Datasource на динамически созданной форме? storer DAX: Программирование 2 14.11.2003 16:41
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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