Скрывать в дереве только необходимые разделы
Приветствую.
В дереве при нажатии на кнопку скрываю записи:
{
text: 'Collapse All',
handler:function()
{
me.collapseAll()
}
}
Скрываются все записи, остается в видимости только Root. Как сделать что бы находящиеся под Root 1го уровня разделы отображались? Т.е что бы было так: All otdels ----Otdel1 ----Otdel2 А так же как можно реализовать скрытие дерева в handler кнопки, если она будет находиться не в initComponent: function() ? Пример в fiddle Спасибо |
Цитата:
{
text: 'Collapse All',
handler:function()
{
var nodesToCollapse = me.getStore().getRoot().childNodes;
Ext.each(nodesToCollapse, function (node) {
node.collapse();
});
}
}
|
Цитата:
Что касаемо второго вопроса: "как можно реализовать скрытие дерева в handler кнопки, если она будет находиться не в initComponent: function()?", то сделал так:
{
text: 'Развернуть',
handler : function(button, e) {
var tree = button.up('questiontree')
tree.expandAll()
tree.resumeLayouts(true)
}
},
{
text: 'Свернуть',
handler:function(button, e)
{
var tree = button.up('questiontree')
var nodesToCollapse = tree.getStore().getRoot().childNodes
Ext.each(nodesToCollapse, function (node) {
node.collapse();
});
console.log(node)
}
}
Работает, но при нажатии на "Развернуть" в консоли предупреждение: Mismatched call to resumeLayouts - layouts are currently not suspended пер. Несоответствие вызова resumeLayouts - макеты в настоящее время не приостановлены . При нажатии на "Свернуть" ошибка: ReferenceError: node is not defined Почему возникает предупреждение и ошибка? |
А зачем вызывать tree.resumeLayouts(true), что вы хотели сделать?
А по поводу свернуть, у вас не определена переменная node |
Цитата:
Спасибо |
| Часовой пояс GMT +3, время: 11:52. |