2014-01-10 5 views
1

Я использую ExtJs 4.1 Элемент управления TreePanel & хочет отключить выбор узла, если этот узел не является листовым узлом. У нас есть какая-то собственность из коробки, чтобы достичь этого?Отключение выбора узла в панели дерева ExtJS, если узел не является листовым узлом

Итак, если узел не является листовым узлом, отключите выделение, и если пользователь нажмет на этот узел, система не должна запускать какое-либо событие (itemClick или выбрать и т. Д.).

Спасибо

+0

Я не думаю, что есть что-нибудь из коробки. Единственный 'disableSelection', который я вижу, это в целом' TreePanel'. – forgivenson

ответ

4

Там нет никакой собственности, но вы могли бы всегда ключ на событие beforeitemclick или beforeselect (или оба, в зависимости от того, что вам нужно сделать). Добавьте обработчик для этого события, проверьте, является ли щелкнутый узел листом, а если нет, просто верните false. Это остановит поведение по умолчанию и эффективно отключит нелистовые узлы.

http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.tree.Panel-event-beforeselect

+1

Я сталкиваюсь с чем-то похожим. Я хочу, чтобы исключить или не удалять листовой узел, когда пользователь нажимает на него. возврат false из обработчиков событий не работает для меня. Я пробовал это для этих событий: beforecellclick, cellclick, beforeitemclick, itemclick, beforeselect, select, selectionchange, checkchange –

Смежные вопросы