#css #drag #vaadin #treetable
#css #перетащите #vaadin #treetable
Вопрос:
Когда я использую treetable в Vaadin, он работает нормально, перетаскивая всю строку при щелчке левой и правой пустых областей. но это не удобно для пользователя, я хочу создать перетаскиваемый макет внутри строки, скажем, 1-й компонент каждой строки, чтобы при нажатии на него выделялась вся строка, и ее можно перетаскивать и удалять для изменения порядка.
Дело в том, что я могу создать вертикальный макет с помощью wrapper, выполняющий это, но режим перетаскивания предназначен только для его компонента или самой оболочки, и при выполнении действия перетаскивания фактически не отображается перемещение всей строки, что может запутать клиентов. Что я могу сделать, чтобы это выглядело так, как будто я перетаскиваю всю строку, аналогично тому, как вы перетаскиваете пустую область каждой строки? Спасибо.
Ответ №1:
Боюсь, в настоящее время нет способа добавить оболочку, которая расширила бы всю строку, а не только одну ячейку. Для этого вам нужно будет расширить реализацию Table на стороне клиента (VScrollTable), и это не то, что я бы рекомендовал, поскольку это довольно сложно.
Я действительно думаю, что то, что вы описываете, должно быть возможно в core Vaadin (без использования оболочек перетаскивания), поэтому не могли бы вы подать заявку по адресу dev.vaadin.com ? И, пожалуйста, приложите небольшое приложение, показывающее проблему, чтобы нам было легче увидеть проблему и исправить ее.
В любом случае, чтобы вы могли заставить его работать сегодня, я бы посоветовал вам немного изменить дизайн пользовательского интерфейса и, например, позаимствовать дескрипторы перетаскивания из iOS. Под этим я подразумеваю, что вы могли бы добавить значок, который предлагает «перетаскиваемый» в качестве фонового изображения в первой ячейке (или в ячейке заголовка строки каждой строки), который побуждает пользователя захватывать строку там, где она «пуста», и перетаскивание работает. Таким образом, пользователь может быть не слишком смущен, если перетаскивание надежно работает только в некоторых частях строк.