我在我的网格中添加了一个动作列,我试图在推送时获得一个网格值。
这是我的动作栏:
xtype: 'actioncolumn',
width: 30,
sortable: false,
menuDisabled: true,
items: [{
icon: 'images/refresh16x16.png',
scope: this,
handler: this.onBidHistoryGridlClick
}
这是我的倾听者:
onBidHistoryGridlClick: function(record, grid, rowIndex){
alert(grid.getStore().getAt(rowIndex).column_name);
}
这不起作用。
有什么想法吗?
答案 0 :(得分:2)
您已经在侦听器参数中获得了记录,请使用它!
record.get('column_name')
你可能已经接近了自己的尝试,但是你忘了你从商店得到的是一个记录,而不是一个原始的数据对象。所以这应该是:
grid.getStore().getAt(rowIndex).get('column_name')
<强>更新强>
您的处理程序参数错误(请查看docs)。这应该是:
onBidHistoryGridlClick: function(view, rowIndex, colIndex, item, e, record){
alert(record.get('column_name'));
}
答案 1 :(得分:0)
除了@ rixo的回答,您可能需要使用&#34;数据&#34;属性取决于上下文(事件处理程序回调函数):
handler: function (grid, rowIndex, colIndex) {
var rec = grid.getStore().getAt(rowIndex).data;
alert(rec.toSource()); // this only works in Mozilla Firefox
var rec_col_val = grid.getStore().getAt(rowIndex).data.col_name;
alert(rec_col_val);