Я обнаружил, что следующее является самым быстрым способом указать порядок элементов независимо от размера списка:
1) Если пользователь хочет установить порядок элементов списка / сетки, он нажимает кнопку «Изменить порядок».
2) Откроется диалоговое окно изменения порядка, которое можно использовать с любым списком или сеткой.
3) В диалоговом окне все элементы показаны в их текущем порядке в списке слева. Справа пустой список.
4) Пользователь щелкает элементы в левом списке в желаемом порядке. При щелчке по элементу он удаляется из левого списка и помещается в правый список на следующей позиции. В худшем случае переупорядочение, когда каждый элемент требует нового порядка, это позволяет упорядочить список из N элементов с помощью N щелчков.
5) Затем пользователь может применить новый заказ или отменить. Применение порядка приводит к тому, что в поле «порядок отображения» в данных устанавливается окончательный порядок элементов в правом списке. Вы можете решить, активна ли кнопка «Применить», только когда левый список пуст.
6) В диалоговом окне заказа также доступны следующие элементы управления:
а) Кнопка для перемещения всех элементов из левого списка в правый список, сохраняя порядок их расположения.
б) Кнопка для начала, перезагрузив левый список в исходном порядке и очистив правый список.
c) Кнопка для сортировки правого списка по алфавиту (или по дате, или по цифрам, в зависимости от ключевого поля)
г) Возможность перетаскивания в правом списке, чтобы вручную перетаскивать элементы по порядку.
e) Столбец порядкового номера в правом списке, который при редактировании перемещает элемент в эту позицию.
Это дает лучшее из всех миров. Если у вас есть огромный список, в который нужно переместить только несколько элементов, переместите все элементы, затем перетащите несколько элементов в нужное место или введите нужный индекс. Если у вас небольшой список, который необходимо полностью переупорядочить, просто щелкните элементы в нужном порядке. И так далее.
Я использовал этот подход много лет, и он оказался очень эффективным.
person
Twitort
schedule
12.02.2019