extjs节点的简单介绍

发布时间:2023-12-08

extjs节点的简单介绍

更新:2022-11-12 22:31

本文目录一览:

  1. extJs如何找到树的某个节点
  2. 在Extjs4.0中,设置节点为选中状态
  3. extjs 给treepanel增加节点
  4. EXTjs 怎样遍历树的所有节点获取节点下的值
  5. extjs怎么获取元素节点
  6. Extjs4 中怎么获取根节点并展开第一层

extJs如何找到树的某个节点

extjs tree的节点里面的id不是html dom节点的id,你用ext.getCmp()方法是获取不到这个dom节点的。 要获取叶子节点的值,首先要获取节点node,然后用node.attributes.id获得这个节点的id。 给你一段我程序里面的代码参考:

var root = new Ext.tree.AsyncTreeNode({
    id: 'root',
    text: '数据维护',
    children: [
        {
            text: 'GPON配置',
            children: [
                { id: 'ont_status_form', text: '查看ONT状态', leaf: true }
            ]
        },
        {
            text: 'EPON配置',
            children: [
                { id: 'pon_form', text: '查PON口发光功率', leaf: true }
            ]
        },
        {
            text: '数据模板配置',
            children: [
                { id: 'ont_kdsj_2_form', text: 'EPON二平面用户ONU宽带数据制作', leaf: true }
            ]
        },
        {
            text: 'ITV配置',
            children: [
                { id: 'egpon_itvcheck_2_form', text: 'EPON、GPON E8C二平面数据检查', leaf: true }
            ]
        }
    ]
});
var command_tree = new Ext.tree.TreePanel({
    title: "数据维护",
    region: "west",
    width: 200,
    height: 50,
    split: true,
    margins: "0 0 5 5",
    autoScroll: true,
    collapsible: true,
    collapseMode: 'mini',
    rootVisible: true,
    tbar: new Ext.Toolbar(),
    root: root,
    listeners: {
        click: function(node, event) {
            if (node.leaf) {
                alert(node.attributes.id);
            }
        }
    }
});

在Extjs4.0中,设置节点为选中状态

不需要设置,extjs4的树节点实际上是这个类Ext.data.NodeInterface。 你从后台传递到前台树的json数据格式要满足这个类的属性要求,其中checked属性用来设置该节点是否被勾选。

extjs 给treepanel增加节点

Ext.getCmp(这个treepanel的ID).getRootNode().appendChild(待添加节点或者节点数组)

这样的话就能在树的根节点上添加一个子节点。

EXTjs 怎样遍历树的所有节点获取节点下的值

// tree 是个Ext.tree.TreePanel对象
var roonodes = tree.getRootNode().childNodes; // 获取主节点
findchildnode(roonodes); // 开始递归
function findchildnode(node) {
    var childnodes = node.childNodes;
    for (var i = 0; i < childnodes.length; i++) { // 从节点中取出子节点依次遍历
        var rootnode = roonodes[i];
        alert(rootnode.text);
        if (rootnode.childNodes.length > 0) { // 判断子节点下是否存在子节点
            findchildnode(rootnode); // 如果存在子节点 递归
        }
    }
}

extjs怎么获取元素节点

extjs tree的节点里面的id不是html dom节点的id,你用ext.getCmp()方法是获取不到这个dom节点的。要获取叶子节点的值,首先要获取节点node,然后用node.attributes.id获得这个节点的id。 给你一段我程序里面的代码参考:

var root = new Ext.tree.

Extjs4 中怎么获取根节点并展开第一层

展开节点的代码放到你的store的load事件中,ajax是异步加载的,执行展开代码先于ajax返回数据。

var store = Ext.create('Ext.data.TreeStore', {
    proxy: {
        type: 'ajax',
        url: 'extjs/compassApi_loadTableListTree.action',
        reader: {
            type: 'json',
            root: 'children'
        }
    },
    sorters: [{
        property: 'leaf',
        direction: 'ASC'
    }],
    root: {
        expanded: true
    },
    listeners: {
        load: function () {
            var rootnode = tree.getRootNode();
            console.log(tree.getRootNode());
            if (rootnode.childNodes.length > 0) {
                console.log(1);
                rootnode.childNodes[0].expand();
            }
        }
    }
});