2016-11-17 1 views
-1

Wie bekomme ich den Datensatz auf selection change bei Verwendung Ext.DataView?EXTJS 3.4 WIE SIE RECORD DATAVIEW AUF selectionchange

Ich möchte Wert 'IdPrd' in der Selectionchange Event-Funktion erhalten.

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')) 
      } 
     } 
    } 
}); 

Antwort

0

Es ist nicht klar, wie Ihr Modell von Ihrem Geschäft aussieht. Die Lösung wäre jedoch, das Datenobjekt zuerst zu bekommen.

So würde der Code:

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

Sie können auch einfach debugger; in Ihre Funktion Selection Hörer setzen und untersuchen, wie genau die Knoten-Objekt, das Sie in Ihrem speziellen Beispiel bekommen aussieht.