Russian Qt Forum
Ноябрь 26, 2024, 05:45 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: множественная сортировка в таблицах  (Прочитано 12664 раз)
ритт
Гость
« : Декабрь 07, 2007, 02:10 »

есть потребность дать возможность пользователю сортировать данные в таблице по нескольким столбцам
технически это реализуемо: модель с расширенным методом сорт/сетСорт, хидервью со своей обработкой и отрисовкой нескольких стрелочек сортировки и слегка подправленная таблвью...
но вопрос даже не столько в этом. дело в том, что нет единой (привычной) модели множественной сортировки.

например, в экселе есть диалог, в котором можно указать три позиции сортировки; на некоторых сайтах используется набор комбобоксов для тех жже целей; и т.д.

у нас же можно просто кликать по заголовкам столбцов, удерживая какую-нибудь клавишу-модификатор...но это неочевидно. а, раз неочевидно, скорее всего, этим не будут пользоваться. тогда на хрена писать это?

вот такой вот диалог самого с собой Улыбающийся

у кого есть идеи, а лучше, реализации, прошедшие тестирование конечным пользоватеем?
код также приветствуется Улыбающийся
Записан
der
Гость
« Ответ #1 : Декабрь 07, 2007, 05:48 »

Сам не делал, кода нет. Мнение пользователя.
Офис - пакет, с которого можно не боясь сдирать практически всё. Даже если в нём что-то сделано не самым лучшим способом, можно быть уверенным, что народ к этому уже привык.

Сортировка, по-моему, сделана удачно(2003) - только выбор столбцы/строки я бы перенёс в основной диалог.
Хоткеи хуже: надо читать хелп, а для меня эта задача непосильна Улыбающийся
ИМХО.
« Последнее редактирование: Декабрь 07, 2007, 05:59 от der » Записан
ритт
Гость
« Ответ #2 : Декабрь 07, 2007, 06:42 »

диалог-диалогом...если ничего не придумается, примерно так и сделаю
но хочется чего-то удобного, а не просто привычного

несколько уточню: например, выбираем за клавишу-модификатор Shift. то есть, кликаем на столбце - сортируется...удерживая шифт, кликаем на втором столбце - сортируется по первому, затем по второму...
хочу, чтобы данные в первом столбце сортировались по возрастанию, а во втором по убыванию /* а в третьем - ещё как-нибудь Улыбающийся */ - кликаю с шифтом на втором столбце 2 раза
удобно? - вроде бы, да, но...

возможно, я зря беспокоюсь и такой подход воспримется юзверями на ура
возможно, и не зря

вот и спрашиваю совета
Записан
der
Гость
« Ответ #3 : Декабрь 07, 2007, 07:40 »

Ну если юзеров пятеро - можно рассказать.
Если пятьсот - уже сложнее.
Записан
Alex03
Гость
« Ответ #4 : Декабрь 07, 2007, 08:07 »

тултип в подсказку. Улыбающийся
А вообще вариантов д.б. много.
т.е.
- по простому нажатию стандартное поведение.
- по нажатию с кнопкой модификатором своё.
- по нажатию правой кнопки мыши менюха.
- и т.д.
« Последнее редактирование: Декабрь 07, 2007, 08:10 от Alex03 » Записан
Tonal
Гость
« Ответ #5 : Декабрь 07, 2007, 08:09 »

С модификатором по моему удачно. :-)
Записан
Dodge
Гость
« Ответ #6 : Декабрь 07, 2007, 13:50 »

ИМХО наилудший вариант добавить в заголовок каждой колонки - кнопочку( например в виде небольшого кружка в правом нижнем углу ), при нажатии на которую, выпадает миню & можно выбрать направление сортировки, и увеличить/уменьшить глубину( порядок ), причем можно даже не делать пропуск уже имеющегося порядка.
В зависимости от направления сортировки кнопочка из кружочка превращается в соответствующую стрелочку(вверх/вниз), а порядок пишется циферкай  Показает язык

типа:
*------------------*------------------*
|         Имя            |       Фамилия      |
|                     ^1 |                      o  |
*------------------*------------------*
Как рисунок?  Смеющийся
Записан
ритт
Гость
« Ответ #7 : Декабрь 07, 2007, 15:41 »

я бы (как пользователь) на кружочки не повёлся
а вот циферя в дополнение к стрелочке мне нравится - удачная мысля

классный рисунок...нет желания написать стиль под кутэ в концепции нкурсесз? Улыбающийся
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #8 : Декабрь 07, 2007, 22:09 »

мы делали подобную штуку.
для этого, создали дополнительный виджет - наследник QHeaderView, который задавал порядок сортировки (в секциях отображал соотв. колонки в том порядке, в котором надо их сортить), с возможностью тягания хедеров, драг-дропа колонок на него, плюс диалог со списком чекбоксов по правой кнопке мыши. Ну а направление сортировки определялось стандартным значком на хэдере колонки.
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
ритт
Гость
« Ответ #9 : Декабрь 08, 2007, 01:46 »

Racheengel, не покажусь сильно наглым, если попрошу сырец этого наследника? Улыбающийся
времени мало, сдаваться скоро - был бы благодарен...если не жалко
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #10 : Декабрь 08, 2007, 11:39 »

Да мне не жалко - просто этот класс сильно уж связан с нашим проектом (нестандартная таблица).
Придется многое повыкидывать/заменить.
Куда слать то?
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
vipet
Бывалый
*****
Offline Offline

Сообщений: 452


Просмотр профиля
« Ответ #11 : Декабрь 08, 2007, 14:02 »

Racheengel,

выложи на обменник какой-нибудь (rapidshare)
Записан
ритт
Гость
« Ответ #12 : Декабрь 08, 2007, 16:55 »

повыкидывать/заменить чаще бывает быстрее, чем написать заново Улыбающийся
angry-kasyan[at]narod[dot]ru
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #13 : Декабрь 08, 2007, 23:37 »

http://www.ii-system.com/table.tree.zip
« Последнее редактирование: Декабрь 08, 2007, 23:43 от Racheengel » Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
ритт
Гость
« Ответ #14 : Декабрь 08, 2007, 23:42 »

не пускает на фтп, к сожалению
а по хттп такого пути нет
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.135 секунд. Запросов: 23.