Как отобразить TreeNode после изменения node.attributes? - PullRequest
0 голосов
/ 15 марта 2019

Я обновляю атрибуты Ext.tree.AsyncTreeNode. После обновления я хочу отобразить обновленные значения в пользовательском интерфейсе. Этот узел уже отрендерен, как я могу перерисовать тот же самый treeNode с новым обновленным значением атрибутов?

Я использую uiProvider для TreeNode, то есть attr.uiProvider = Ext.ux.tree.TreeGridNodeUI

1 Ответ

0 голосов
/ 04 апреля 2019

function refreshNodeColumns(n)
{
    var t = n.getOwnerTree();
    var a = n.attributes;
    var cols = t.columns;
    var el = n.ui.getEl().firstChild; // <div class="x-tree-el">
    var cells = el.childNodes;
    
    //<div class="x-tree-col"><div class="x-tree-col-text">
    
    for(var i = 1, len = cols.length; i < len; i++)
    {
        var d = cols[i].dataIndex;
        var v = (a[d]!=null)? a[d] : '';
        if (cols[i].renderer) v = cols[i].renderer(v);
        cells[i].firstChild.innerHTML = v;        
    }
}  
...