EXT JS пользовательский TreeNodeUI или XTemplate - PullRequest
3 голосов
/ 01 октября 2010

Я ищу способ получить собственный шаблон для узла в TreePanel.Может ли кто-нибудь помочь?

1 Ответ

4 голосов
/ 28 февраля 2011

Похоже, что существует два способа реализации пользовательского TreeNodeUI.Во-первых, вы должны добавить свою реализацию в список uiProvider и назначить для ваших узлов свойство uiProvider со значением созданного вами ключа:

var loader = new Ext.tree.TreeLoader({
    uiProviders: {
        myKey: My.TreeNodeUI.Implementation
    }
});

Это изменит только те узлы дерева, которые имеютнабор свойств uiProvider, оставляя другие узлы без изменений!

Если вы хотите изменить ВСЕ TreeNodeUI, вы можете переопределить метод createNode для создания любого типа узла, который вам нравится (хотя это должно расширять Ext.tree.TreeNode).Если вы не хотите реализовывать целый класс TreeNode, вы можете снова переопределить атрибут uiProviders.

var loader = new Ext.tree.TreeLoader({
    //override the CreateNode function
    createNode: function(attr) {
        attr.uiProvider = My.TreeNodeUI.Implementation

        return Ext.tree.TreeLoader.prototype.createNode.call(this, attr);
        //or possibly...
        //return My.CreateNode.Implementation
    } 
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...