2009-11-13 6 views
0

У меня есть пользовательский интерфейс с сеткой. Каждая запись в сетке сортируется по столбцу сортировки «хозяин», назовем его номером страницы. Каждая запись - история в журнале. Я хочу, чтобы пользователь мог перетащить запись в новую позицию в сетке и автоматически обновить поле номера страницы, чтобы отразить обновленную позицию. Легко, правда?Сортировка сетки с постоянной сортировкой хозяина

Теперь представьте, что я также хочу, чтобы сетка была отсортирована любым другим столбцом (название сюжета, раздел, имя автора и т. Д.). Как работает перетаскивание?

  • Возврат к сортировке номера страницы во время или после операции перетаскивания? Это может смутить пользователя (почему мой вид просто изменился?). Это также приведет к произвольному расположению строк. Будет ли теперь история до строки, которая была после него, когда пользователь сбросил ее? Или, будь это после того, что было раньше? Эти ряды теперь могут быть широко разделены после сортировки основного заказа.

  • Отключить функцию перетаскивания, если сетка в настоящее время не сортируется по номеру страницы? Это было бы легко, но пользователь мог бы задаться вопросом, почему он не может перетащить в определенное время. Знание первой сортировки по номеру страницы может быть не очень интуитивным.

  • Позвольте пользователю изменить порядок строк, но не внести никаких изменений в номер страницы?

  • Требовать от пользователя входа в режим «Упорядочить истории», в котором сортировка сетки временно переключается на номер страницы, а перетаскивание включено? Затем они выйдут из режима, и предыдущий тип будет повторно применен. Большая разница между этим и вторым параметром заключается в том, что он был бы более явным, чем просто щелчок по заголовку столбца.

Любые другие идеи или причины, по которым один из вышеперечисленных способов - это путь?

EDIT

Я хотел бы отметить, что любой из вышеперечисленных технически возможно, и легко осуществить. Мой вопрос связан с дизайном. Каков самый интуитивный способ решения этой проблемы с точки зрения пользователя?

ответ

0

Почему вы не можете удалить его в список, отсортированный по другому методу?

+0

Каким будет номер страницы? Строки до и после местоположения перетаскивания могут иметь значения номеров страниц. – MikeWyatt

+0

Это зависит от вас. Если вы сбросите его, значит, вы хотите, чтобы он был помещен в конец журнала, затем установите номер страницы в качестве следующей доступной страницы. Если вы отбрасываете это, значит, вы хотите, чтобы он пошел после статьи, которую вы бросили ниже: возьмите номер страницы этой статьи, установите номер страницы новой статьи как «выше номера страницы статьи + над длиной статьи», а затем обновите все статьи с более высоким номером страницы, чтобы «номер страницы = номер страницы + новая длина статьи» –

Смежные вопросы