2011-01-28 97 views
3

我創建了一個基於表格的模板,所以我可以得到一個像網格一樣的感覺。我的問題是,當我點擊一個表格行時,如何獲得彈出式警報(帶有td信息)。Sencha觸摸訪問模板數據

這裏是我的getUserList.js文件

Ext.regModel("User", { 
      fields: [ 
       "id", 
       "name", 
       "username", 
       "password", 
       "email", 
       "phone" 
      ] 
    }); 

    var myStore = new Ext.data.Store({ 
     model: 'User', 
     proxy: { 
      type: 'ajax', 
      url : '../sencha/php/getUserList.php', 
      reader: { 
       type: 'json', 
       root: 'results' 
      } 
     }, 
     autoLoad: true 
    }); 


    var tpl = new Ext.XTemplate(//'<h2>test information</h2>' 
    '<table id="userTable"', 
     '<tpl for=".">', 

       '<tr>', 
        '<td class="x-view-over">', 
         '<span class="thumb-wrap">{id}</span>', 
        '</td>', 
        '<td class="x-view-over">', 
         '<span class="thumb-wrap"><a onclick="alert(tpl.name)">{name}</a></span>', 
        '</td>', 
        '<td>', 
         '{username}', 
        '</td>', 
        '<td>', 
         '{password}', 
        '</td>', 
        '<td>', 
         '{email}', 
        '</td>', 
        '<td>', 
         '{phone}', 
        '</td>', 
       '</tr>', 
     '</tpl>', 
    '</table>', 
     '<div class="x-clear"></div>' 
    ); 

    var panel = new Ext.extend(Ext.Panel,{ 
     id:'images-view', 
     frame:true, 
     //width:535, 
     autoHeight:true, 
     collapsible:true, 
     title:'Simple DataView', 
     initComponent: function() { 
      panel.superclass.initComponent.call(this); 
     }, 

     items: new Ext.DataView({ 
      store: myStore, 
      tpl: tpl, 
      autoHeight:true, 
      multiSelect: true, 
      overItemCls:'x-view-over', 
      itemSelector:'tr', 
      emptyText: 'No images to display' 
     }) 
    }); 

     Ext.reg('userPanel', panel); 

感謝你可以給任何意見。

回答

5

好吧,沒有人幫助我,我終於明白了。這裏是我如何能夠得到我的模板中的行的id:

  var newDV = new Ext.DataView({ 
      store: myStore, 
      tpl: tpl, 
      autoHeight:true, 
      //multiSelect: true, 
      //overItemCls:'x-view-over', 
      itemSelector:'tr', 
      listeners: { 
       itemtap: function(dv, idx, itm, e) { 
        alert(dv.getStore().getAt(idx).getId()); 
       } 
      } 

     })