0

我有一个 Ext.data.Store 和一个带有列表的 Ext.Panel。我使用以下命令动态添加记录:

myStore.add({txt: r});

我想添加一个侦听器,当我单击列表记录时,它会在消息框中显示记录数据。

我该怎么做?

扩展数据存储

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

扩展面板

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,
                                }]
                          });
4

1 回答 1

3

您需要使用组件itemtap的事件Ext.List

例如

   ....
   ....
   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);
         }
   }
   ....
   ....
于 2012-04-30T03:16:01.717 回答