Название: множественная сортировка в таблицах Отправлено: ритт от Декабрь 07, 2007, 02:10 есть потребность дать возможность пользователю сортировать данные в таблице по нескольким столбцам
технически это реализуемо: модель с расширенным методом сорт/сетСорт, хидервью со своей обработкой и отрисовкой нескольких стрелочек сортировки и слегка подправленная таблвью... но вопрос даже не столько в этом. дело в том, что нет единой (привычной) модели множественной сортировки. например, в экселе есть диалог, в котором можно указать три позиции сортировки; на некоторых сайтах используется набор комбобоксов для тех жже целей; и т.д. у нас же можно просто кликать по заголовкам столбцов, удерживая какую-нибудь клавишу-модификатор...но это неочевидно. а, раз неочевидно, скорее всего, этим не будут пользоваться. тогда на хрена писать это? вот такой вот диалог самого с собой :) у кого есть идеи, а лучше, реализации, прошедшие тестирование конечным пользоватеем? код также приветствуется :) Название: Re: множественная сортировка в таблицах Отправлено: der от Декабрь 07, 2007, 05:48 Сам не делал, кода нет. Мнение пользователя.
Офис - пакет, с которого можно не боясь сдирать практически всё. Даже если в нём что-то сделано не самым лучшим способом, можно быть уверенным, что народ к этому уже привык. Сортировка, по-моему, сделана удачно(2003) - только выбор столбцы/строки я бы перенёс в основной диалог. Хоткеи хуже: надо читать хелп, а для меня эта задача непосильна :) ИМХО. Название: Re: множественная сортировка в таблицах Отправлено: ритт от Декабрь 07, 2007, 06:42 диалог-диалогом...если ничего не придумается, примерно так и сделаю
но хочется чего-то удобного, а не просто привычного несколько уточню: например, выбираем за клавишу-модификатор Shift. то есть, кликаем на столбце - сортируется...удерживая шифт, кликаем на втором столбце - сортируется по первому, затем по второму... хочу, чтобы данные в первом столбце сортировались по возрастанию, а во втором по убыванию /* а в третьем - ещё как-нибудь :) */ - кликаю с шифтом на втором столбце 2 раза удобно? - вроде бы, да, но... возможно, я зря беспокоюсь и такой подход воспримется юзверями на ура возможно, и не зря вот и спрашиваю совета Название: Re: множественная сортировка в таблицах Отправлено: der от Декабрь 07, 2007, 07:40 Ну если юзеров пятеро - можно рассказать.
Если пятьсот - уже сложнее. Название: Re: множественная сортировка в таблицах Отправлено: Alex03 от Декабрь 07, 2007, 08:07 тултип в подсказку. :)
А вообще вариантов д.б. много. т.е. - по простому нажатию стандартное поведение. - по нажатию с кнопкой модификатором своё. - по нажатию правой кнопки мыши менюха. - и т.д. Название: Re: множественная сортировка в таблицах Отправлено: Tonal от Декабрь 07, 2007, 08:09 С модификатором по моему удачно. :-)
Название: Re: множественная сортировка в таблицах Отправлено: Dodge от Декабрь 07, 2007, 13:50 ИМХО наилудший вариант добавить в заголовок каждой колонки - кнопочку( например в виде небольшого кружка в правом нижнем углу ), при нажатии на которую, выпадает миню & можно выбрать направление сортировки, и увеличить/уменьшить глубину( порядок ), причем можно даже не делать пропуск уже имеющегося порядка.
В зависимости от направления сортировки кнопочка из кружочка превращается в соответствующую стрелочку(вверх/вниз), а порядок пишется циферкай :P типа: *------------------*------------------* | Имя | Фамилия | | ^1 | o | *------------------*------------------* Как рисунок? ;D Название: Re: множественная сортировка в таблицах Отправлено: ритт от Декабрь 07, 2007, 15:41 я бы (как пользователь) на кружочки не повёлся
а вот циферя в дополнение к стрелочке мне нравится - удачная мысля классный рисунок...нет желания написать стиль под кутэ в концепции нкурсесз? :) Название: Re: множественная сортировка в таблицах Отправлено: Racheengel от Декабрь 07, 2007, 22:09 мы делали подобную штуку.
для этого, создали дополнительный виджет - наследник QHeaderView, который задавал порядок сортировки (в секциях отображал соотв. колонки в том порядке, в котором надо их сортить), с возможностью тягания хедеров, драг-дропа колонок на него, плюс диалог со списком чекбоксов по правой кнопке мыши. Ну а направление сортировки определялось стандартным значком на хэдере колонки. Название: Re: множественная сортировка в таблицах Отправлено: ритт от Декабрь 08, 2007, 01:46 Racheengel, не покажусь сильно наглым, если попрошу сырец этого наследника? :)
времени мало, сдаваться скоро - был бы благодарен...если не жалко Название: Re: множественная сортировка в таблицах Отправлено: Racheengel от Декабрь 08, 2007, 11:39 Да мне не жалко - просто этот класс сильно уж связан с нашим проектом (нестандартная таблица).
Придется многое повыкидывать/заменить. Куда слать то? Название: Re: множественная сортировка в таблицах Отправлено: vipet от Декабрь 08, 2007, 14:02 Racheengel,
выложи на обменник какой-нибудь (rapidshare) Название: Re: множественная сортировка в таблицах Отправлено: ритт от Декабрь 08, 2007, 16:55 повыкидывать/заменить чаще бывает быстрее, чем написать заново :)
angry-kasyan[at]narod[dot]ru Название: Re: множественная сортировка в таблицах Отправлено: Racheengel от Декабрь 08, 2007, 23:37 http://www.ii-system.com/table.tree.zip
Название: Re: множественная сортировка в таблицах Отправлено: ритт от Декабрь 08, 2007, 23:42 не пускает на фтп, к сожалению
а по хттп такого пути нет Название: Re: множественная сортировка в таблицах Отправлено: ритт от Декабрь 09, 2007, 10:42 Racheengel,
благодарствую...пойду разбираться что там к чему зная твоё отношение ко всяческим лицензиям, предвосхищаю, что код можно править и переиздавать как угодно и ничего мне за это не будет? :) Название: Re: множественная сортировка в таблицах Отправлено: Racheengel от Декабрь 09, 2007, 11:58 Да не за что :)
Единственная просьба - все копирайты из кода повыкидывать (просто это кусок из коммерческого проекта). |