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