Как создать оболочку draganddrop внутри строки таблицы, которая может представлять всю строку - PullRequest
1 голос
/ 25 октября 2011

Когда я использую древовидную таблицу в Vaadin, она прекрасно работает, перетаскивая всю строку, когда щелкает левые и правые пустые строки. но это не удобно для пользователя, я хочу создать перетаскиваемый макет внутри строки, скажем, 1-й компонент каждой строки, чтобы при щелчке по нему выделялась вся строка, которую можно перетаскивать и перетаскивать для изменения порядка.

Дело в том, что я могу создать вертикальный макет с помощью обертки, но режим перетаскивания предназначен только для его компонента или самой обертки, и при выполнении действия перетаскивания фактически не отображается перемещение всей строки, что может запутать клиентов. Что я могу сделать, чтобы выглядело так, будто я перетаскиваю всю строку, подобно тому, как вы перетаскиваете пустую область каждой строки? Спасибо.

1 Ответ

0 голосов
/ 07 ноября 2011

Боюсь, в настоящее время нет способа добавить оболочку, которая бы расширяла всю строку вместо одной ячейки. Чтобы сделать это, вам нужно расширить клиентскую реализацию Table (VScrollTable), и я бы не рекомендовал это делать, поскольку он довольно сложный.

Я думаю, что то, что вы описываете, должно быть возможным в ядре Vaadin (без использования перетаскивания), поэтому не могли бы вы подать заявку на dev.vaadin.com ? И, пожалуйста, приложите небольшое приложение, показывающее проблему, чтобы нам было легче увидеть проблему и исправить ее.

В любом случае, для того, чтобы вы начали работать сегодня, я бы посоветовал немного изменить дизайн пользовательского интерфейса и, например, позаимствовать ручки перетаскивания из iOS. Под этим я подразумеваю, что вы можете добавить значок, который предлагает «перетаскиваемый» в качестве фонового изображения в первой ячейке (или в ячейке заголовка строки каждой строки), который предлагает пользователю захватить строку там, где она «пусто» и перетаскивание работает. Таким образом, пользователь не будет слишком смущен, если перетаскивание работает только в некоторых частях строк.

...