Табличная форма
От: Johny B.Good Россия  
Дата: 16.11.05 12:10
Оценка:
Привет!

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

Рассмотрим пример:



Задача 1.
Необходимо отсортировать записи по году и модели по возрастанию. Как это реализовать в браузере, ведь кнопка Ctrl не работает? Я сделал отдельный диалог "Сортировка", в котором можно выбрать колонки для сортировки и направление сортировки, а также колонку для группировки. Вот он:



Проблема в том, что для задания сортировки по двум колонкам я должен сделать порядка 7 кликов(вместо 2): Фильтр — Сортировка — Клик на селект №1 — Клик выбрал колонку — Клик на селект №2 — Клик выбрал колонку — Установить. Есть ли варианты оптимизации?

Задача 2.
Необходимо отфильтровать записи, у которых год больше или равен 2003, а количество проданных машин больше 4. Вот диалог, который решает эту задачу:



По этому диалогу у меня больше всего вопросов и меньше всего ответов:
1. Выпадающий список для задания оператора мне совсем не нравится, есть ли другие варианты? Необходимо учесть, что поля в фильтре могут быть 4 типов:

-строка (операторы "Равно", "Не равно" и "Подстрока", но фактически сводятся к одному — "подстрока", т.к остальные редко используются )
-число ( числовые операторы, свести не к чему, по-моему )
-чекбокс ( один оператор — "равно" )
-выпадающий список ( операторы "Равно", "Входит в", "Не равно", "Не входит в" , фактически сводятся к "Входит в" и "Не входит в")

2. Может, удобнее задавать фильтрацию для каждой колонки, например, путем правого клика на колонке, а не с помощью диалога? Тогда как быть со скрытыми колонками(в данный момент не видны, но поддерживают фильтрацию)

Задача 3.

Настроить внешний вид отображаемой таблицы — порядок и видимость колонок. Сейчас для этого используется такой диалог:



Как мне кажется, его лучше заменить на список колонок, в котором видимость/невидимость будет задаваться с помощью, например, чекбокса, а порядок путем Drag'n'dropa.

Задача 4.

В какой момент применять изменения? Когда задано каждое из условий? (фильтрация, сортировка, внешний вид) или лучше сделать кнопку "Установить фильтр", которая применит все три условия? Мне кажется, что лучше кнопку.

Заранее благодарен за конструктивные предложения и конструктивную же критику. Если тыкнете в примеры — буду только рад.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.