2012-04-29 2 views
0

나는 Ext.data.Store와 Ext.Panel을 가지고 있습니다. 내가이 명령을 사용하여 동적으로 레코드를 추가 :Sencha는 녹음 목록에 동적으로 탭 리스너를 추가합니다.

myStore.add({txt: r}); 

내가 목록 레코드를 클릭하면, 그것은 나에게 메시지 상자에서 기록 데이터를 표시하는 리스너를 추가하고 싶습니다.

어떻게하면됩니까?

Ext.data.store

var myStore = Ext.create('Ext.data.Store', { 
     storeId: 'MyStore', 
     fields: ['txt'] 
    }); // create() 

Ext.Panel는

listpanel = new Ext.Panel({ 
          layout: 'fit', // important to make layout as 'fit' 
          items: [ 
           { 
            xtype: 'titlebar', 
            id: 'myTitle', 
            docked: 'top', 
            title: 'Before Change title' 

           }, 
           { 
            //Definition of the list 
            xtype: 'list', 
            itemTpl: '{txt}', 
            store: myStore, 
           }] 
          }); 

답변

3

당신은 Ext.List 구성 요소의 itemtap 이벤트를 사용해야합니다.

예컨대

.... 
    .... 
    xtype: 'list', 
    itemTpl: '{txt}', 
    store: myStore, 
    listeners : { 
     itemtap : function(item, num, record, ev) { 
       var myTxt = item.getStore().getAt(num).get('txt'); 
       Ext.Msg.alert('Message','Tapped record : '+myTxt); 
     } 
    } 
    .... 
    .... 
관련 문제