ext get id js_Ext JS 4:通过internalId获取TreeStore节点

商店

Ext.define('myStore', {

extend: 'Ext.data.TreeStore',

storeId: 'treestore',

root: {

text: 'root',

children: [{

text: 'leaf1',

id: 'leaf1',

children: [{

text: 'child1',

id: 'child1',

leaf: true

},{

text: 'child2',

id: 'child2',

leaf: true

}]

},{

text: 'leaf2',

id: 'leaf2',

leaf: true

},{

text: 'leaf3',

id: 'leaf3',

leaf: true

}]

},

proxy: {

type: 'memory',

reader: {

type: 'json'

}

}

});

Ext.create('Ext.tree.Panel', {

id: 'myTree',

rootVisible: false,

store: Ext.create('myStore'),

width: 300,

height: 500,

renderTo: Ext.getBody()

});

添加和获取节点

Ext.getCmp('myTree').getRootNode().appendChild({id: 'test', text: 'test', leaf: true}); // this test node takes on the internalId 'ext-record-2'

Ext.getCmp('myTree').store.getNodeById('ext-record-2'); // returns undefined

Ext.getCmp('myTree').getRootNode().findChild('id', 'ext-record-2', true); // returns null

Ext.getCmp('myTree').getRootNode().findChild('internalId', 'ext-record-2', true); // I was just trying things at this point.

我意识到ŧ他可能是不可能的,所以我会解释我正在尝试做什么...我试图更改节点的id,所以当我使用getNodeById时,我可以使用我创建的新ID。这个想法是,如果我改变了ID,我可以在树中找到它,它会是唯一的,因为我只允许添加唯一的ID ...但ID不会改变。然后我认为使用'ext-record'编号会确保我返回一个唯一的编号,但后来我无法弄清楚,哈哈。

下面是一些代码,显示我想要做什么。

var node = Ext.getCmp('myTree').store.getNodeById('test'); // returns my test node

node.beginEdit();

node.set('id', 'blah');

node.endEdit();

node.commit(false);

alert(Ext.getCmp('myTree').store.getNodeById('blah')); // returns undefined

alert(Ext.getCmp('myTree').store.getNodeById('test')); // still returns my test node

我试过使用树的同步方法,但没有做任何事情。我只是想知道如何更新节点的ID,所以当我使用getNodeById时,我可以使用新的ID。有什么想法吗?

+0

请发表一些代码你如何创建你的树木店 –

2012-03-22 01:18:59

+0

这有帮助吗? –

2012-03-22 01:56:00

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值