使用extJS从gridpanel获取值

时间:2015-02-03 14:48:19

标签: javascript extjs

我有一个带有一些行的网格面板。如果你在该行中双击,我想在警告中显示código值。

enter image description here

使用这些代码我只能从双击的单元格中获取值(如果我点击“tipo”我得到“final”或“borrador”但不是codigo值) 这是我的倾听者:

    listeners: {
        'rowdblclick': function (view, record, tr, columnIndex, e) {
            var cell = e.getTarget('.x-grid-cell-inner');
            if (!cell) {
                return;
            }
            alert(cell.innerHTML)
        }
    },

我尝试使用此代码,但仍然失败(null)

            'rowdblclick': function(view, rowIndex, colIndex, item, e, record){
                alert(grid.getStore().getAt(rowIndex).get('codigo'));
            }   

            'rowdblclick': function(view, rowIndex, colIndex, item, e, record){
                                        alert(record.get('codigo'));
            }   

我需要从双击的行中获取codigo值吗?

提前谢谢。

1 个答案:

答案 0 :(得分:1)

对于未来,最好指出您正在使用的Ext JS版本。从您的代码中完全不明显。

也就是说,4.x行中的Views没有rowdblclick事件,因此它必须是3.x或5.x.我认为它是5.x。

您的代码无法正常工作的原因是您的事件处理程序在第二个和第三个代码段中需要的错误参数。第一个有正确的签名,所以你应该使用它:

listeners: {
    // You don't have to declare all arguments, just those you need
    rowdblclick: function(view, record) {
        var codigo = record.get('codigo');

        alert('Codigo: ' + codigo);
    }
}

要获取数据,您永远不会戳入行和单元格。行和单元格仅用于绑定到Grid的Store中包含的数据。上面的事件处理程序接收被单击的行的record对象,该记录包含该行的数据值。