2016-11-17 10 views
-1

Ext.DataViewを使用するとselection changeでレコードを取得するにはどうすればよいですか?EXTJS 3.4セレクションデータレコードを取得する方法

私はselectionchangeイベント関数で値 'IdPrd'を取得したいと考えています。

var tpl_ram = new Ext.XTemplate(
    '<ul>', 
     '<tpl for=".">', 
      '<li class="phone">', 
       '<img width="64" height="64" src="data/catalogo/ramos/imagenes/{IdRm}/{IdRm}.jpg" />', 
       '<strong>{NomRm}</strong>', 
       '<span>{DescRm}</span>', 
      '</li>', 
     '</tpl>', 
    '</ul>'); 

var ramos_dw = new Ext.DataView({ 
    tpl: tpl_ram, 
    store: ramos_productos, 
    id: 'ramos_dw', 
    itemSelector: 'li.phone', 
    overClass: 'phone-hover', 
    singleSelect: true, 
    autoScroll: true, 
    autoHeight: true, 
    emptyText: 'SIN RESULTADOS QUE MOSTRAR', 
    listeners: { 
     'click': function() {}, 
     selectionchange: { 
      fn: function(dv, nodes) { 
       //i want on selection get value 'IdPrd' 
       var record = nodes[0]; 
       console.log("advert id - " + record.get('IdPrd')) 
      } 
     } 
    } 
}); 

答えて

0

店舗のモデルがどのように見えるかはっきりしません。しかし、解決策はデータオブジェクトを最初に取得することです。

ので、コードは次のようになります。

var recordData = nodes[0].getData(); 
// keep in mind that user can select more than 1 node --> nodes[0] 
console.log("advert id - " + recordData['IdPrd']) 

あなたは、単にあなたのSelectionChange機能リスナーにdebugger;を入れて、あなたはあなたの特定の例で取得ノードオブジェクトがどのように見えるかを正確に探索することができます。

関連する問題