EXTJS 3.4 如何在 selectionchange 上获取记录数据视图

Posted

技术标签:

【中文标题】EXTJS 3.4 如何在 selectionchange 上获取记录数据视图【英文标题】:EXTJS 3.4 HOW TO GET RECORD DATAVIEW ON selectionchange 【发布时间】:2016-11-17 19:46:58 【问题描述】:

使用Ext.DataView时如何获取selection change上的记录?

我想在 selectionchange 事件函数中获取值 'IdPrd'。

var tpl_ram = new Ext.XTemplate(
    '<ul>',
        '<tpl for=".">',
            '<li class="phone">',
                '<img   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'))
            
        
    
);

【问题讨论】:

【参考方案1】:

目前尚不清楚您商店中的模型是什么样的。但解决方案是先获取数据对象。

所以代码是:

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

您也可以简单地将debugger; 放入您的 selectionchange 函数侦听器中,并探索您在特定示例中获得的节点对象的确切外观。

【讨论】:

以上是关于EXTJS 3.4 如何在 selectionchange 上获取记录数据视图的主要内容,如果未能解决你的问题,请参考以下文章

EXTJS 3.4 如何在 selectionchange 上获取记录数据视图

ExtJs 3.4,如何在 Ext.panel 中刷新 autoLoad

如何在 extjs 3.4 中处理 ctrl+tab 键?

如何使用 extjs 3.4 将工具提示位置保持在任何屏幕上?

ExtJS 3.4:如何显示 TreeNode 的加号/减号图标

如何在 extjs 3.4 网格面板中显示/隐藏列