2011-03-16 69 views
1

限制孩子长我想一个子节点的长度限制在20个字符,像XXXXXXXXXXXXXXXXXXXX ...在ExtJS的树

为树中的数据会从数据库中来JSON格式。这是我的代码。

Ext.onReady(函数(){

var Tree = Ext.tree; 

var tree = new Tree.TreePanel({ 
    useArrows: true, 
    autoScroll: true, 
    animate: true, 
    enableDD: true, 
    containerScroll: true, 
    border: false, 
    // auto create TreeLoader 
    dataUrl: 'test.json', 

    root: { 
     nodeType: 'async', 
     text: 'Ext JS', 
     draggable: false, 
     id: 'src' 
    } 
}); 

// render the tree 
tree.render('tree-div'); 
tree.getRootNode().expand(); }); 

回答

3

为了做到这一点,你需要定义一个自定义树装载机和覆盖createNode功能:

var tree = new Tree.TreePanel({ 
    useArrows: true, 
    autoScroll: true, 
    animate: true, 
    enableDD: true, 
    containerScroll: true, 
    border: false, 

    loader: new Ext.tree.TreeLoader({ 
     dataUrl: this.dataUrl, 
     createNode: function(attr) { 
      attr.text = attr.text.substr(0, 20); 
      Ext.tree.TreeLoader.superclass.createNode.call(this, attr); 
     } 
    }), 

    root: { 
     nodeType: 'async', 
     text: 'Ext JS', 
     draggable: false, 
     id: 'src' 
    } 
});