Обработка события itemclick на панели дерева Extjs 4

то, что я пытаюсь сделать, это получить другую реакцию на другой лист дерева нажмите!

var myTree = Ext.create('Ext.tree.Panel',
    store: store,
    rootVisible: false,   
    border: false,
    listeners: {
        itemclick: function(index) {            
            var record = store.getAt(index);
            alert(record);          
        }
    }
});

Я попытался с индексом, чтобы получить индекс листьев, ничего. Я могу получить реакцию на щелчок узла, но как получить конкретную реакцию на каждом листе? Я также попытался дать ID листьям, не повезло???

может быть, простой пример

itemclick: function(Ext.view.View this, Ext.data.Model record, HTMLElement item, Number index, Ext.EventObject e) {  

}

помогите Pleeasse!!

1 ответов


на itemclick функция прослушивателя событий param "index" не указывает на индекс вашего узла дерева. Как вы упомянули в конце вашего вопроса синтаксис itemclick событие:

function(Ext.view.View this, Ext.data.Model record, HTMLElement item, Number index, Ext.EventObject e) {

}

вот пример:

itemclick : function(view,rec,item,index,eventObj) {

    // You can access your node information using the record object
    // For example: record.get('id') or record.get('some-param')
    if(r.get('id')=='SP') {
        // I do my necessary logic here.. may be open a perticular window, grid etc..
    }

    if(r.get('id')=='CO') {
        // I do my necessary logic here.. may be open a perticular window, grid etc..
    }           
}

и вот пример данных моего узла дерева:

{ text: 'SP Reports', id: 'SP', leaf: true},
{ text: 'CO Reports', id: 'CO', leaf: true},