Как изменить значки / подсказку при перетаскивании узла в Kendo UI TreeList? - PullRequest
0 голосов
/ 16 октября 2018

При перетаскивании узла в Kendo TreeList, он показывает значок плюса, когда e.target действителен (разрешено перетаскивать), но показывает значок отказа, когда e.target недопустим (например, когда вы перетаскиваете узел поверхсам или ребенок).Я определил некоторые собственные условия, в которых он запрещен.Теперь я хочу изменить значок на запрещенный в соответствии с моими правилами.

Для дерева Просмотр , для этого есть метод e.setStatusClass(k-denied).Это не работает на дереве Список : https://docs.telerik.com/kendo-ui/api/javascript/ui/treeview/events/drag.Есть ли что-то подобное для TreeList?В документах нет: https://docs.telerik.com/kendo-ui/api/javascript/ui/treelist/events/drag.

-

Использование метода onDrag(e) и доступ к e.target дает td.Но мне нужен dataItem в tr.

1 Ответ

0 голосов
/ 30 октября 2018

У меня возникла та же проблема, и мне удалось ее решить с помощью события перетаскивания ...

Я добавил функцию перетаскивания в древовидный список:

drag: function(e) {
    if ($(e.target).parents('#targetTreeList>div>table').length>0) {
        e.setStatus("k-i-plus");
    }
    else {
        e.setStatus("k-i-cancel");
    }
}

И это изменит значок при наведении на узлы в древовидном списке с Id = 'targetTreeList', конечно, вы можете добавить свою собственную логику (я также проверил, что это был корневой узел) ...

Iнадеюсь, я смогу немного помочь (мой первый ответ здесь на stackoverflow ...)

Редактировать: Чтобы получить элемент данных, вы можете использовать:

$(e.target).parents('.k-treelist').data('kendoTreeList').dataItem(e.target)

(выглядит слишком сложно, но это был единственныйкак я получил это на работу) ...

...