我有:
dockedItems: [{
xtype: 'toolbar',
store: 'RecordsListStore',
selModel: {
selType: 'cellmodel'
},
和这样的几个图标:
},{
icon: g_settings.iconUrl + 'view-icon.png',
text: 'View',
itemId: 'view-selected-record-from-grid',
scope: this
},{
这是在我看来,在我的控制器中我有一个像这样触发的功能:
'#view-selected-record-from-grid' : {
click: this.onViewRecordClick
}
问题是我想显示警告信息。如果用户在未选择任何内容时单击该按钮。在我的函数中,我得到所选项目的信息(如果有的话),如下所示:
onViewRecordClick: function() {
/**
*Getting the id of the record from the selected row
*/
var id = this.getRecordsListGrid().getSelectionModel().getCurrentPosition().row;
var rec = Ext.data.StoreManager.lookup('RecordsListStore').getAt(id);
rec = rec.data.id;
之后我调用了我的Ajax请求,因此在这两个部分之间我要检查值以及它们是否未定义(点击图标而不选择)以提醒用户。但是如果我试试这个:
if(id == undefined) { alert('No selection');}
并在未选择任何内容时单击图标我没有收到警报消息,而是在控制台中出现错误
。this.getRecordsListGrid()getSelectionModel()getCurrentPosition()的行;未定义
就是这样。我尝试了一些事情来绕过这个问题,因为看起来,函数会停止看到未定义变量的时间,但仍无法找到可行的解决方案。
由于
Leron
答案 0 :(得分:1)
检查getCurrentPosition()
是否返回undefined。