#.net #winforms #apache-flex
#.net #winforms #apache-flex
Вопрос:
Как я могу реализовать функциональность перетаскивания в компоненте 1 Flex grid. Также grid должен разрешать некоторые функциональные возможности, связанные с перетаскиваемыми данными, такими как
Разрешить удаление перетаскиваемых данных в ячейках Grid.
Перетаскиваемый элемент также остается в исходной ячейке и в ячейке, куда он перетаскивается.
Если исходный элемент удален, перетаскиваемый элемент также удаляется.
Сетка не должна допускать дублирования данных в одном столбце.
Пожалуйста, кто-нибудь может мне помочь или подсказать, как это возможно в flex grid. Это приложение на базе Windows. Итак, если есть какая-либо возможность сделать то же самое, используя базовую функциональность приложения Windows, пожалуйста, дайте мне знать.
Ответ №1:
вы можете просто использовать это
Все настройки перетаскивания содержатся в свойстве Grid.DragAndDrop. Для использования функции перетаскивания следующим свойствам должно быть присвоено значение true:
Grid.AllowDrop = true;
Grid.DragAndDrop.Enabled = true;
Ответ №2:
Что ж, у меня нет прямых знаний об этом компоненте, но я попробую, основываясь на некотором опыте winforms (веб-разработка по-прежнему «winforms»? Flex, похоже, что-то для веб-разработки …), надеюсь, спровоцирует дальнейшее обсуждение. Вывод ваших баллов в виде алфавитного списка:
A) Чтобы удалить элементы управления из контейнера, используйте метод «Удалить».
Б) Обычно это не работает. Добавление элемента управления в контейнер дважды, вероятно, либо переместит его, либо ничего не сделает. Вероятно, вам потребуется скопировать элемент управления и добавить копию в grid.
C) Вам нужно будет создать связь между двумя элементами управления, возможно, сохранив список связей родительский-> дочерний. Когда родительский элемент будет удален, вам нужно будет прочитать список, отметить, что родительский элемент удаляется, и одновременно удалить дочерний элемент.
D) При попытке вставки выполните проверку содержимого столбца, чтобы увидеть, содержит ли столбец родительский элемент копии, которую вы пытаетесь вставить, или другой дочерний элемент того же родительского элемента. Если это так, отмените вставку.
Надеюсь, что это немного поможет.