我有:
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().row; 未定义
就这样。我尝试了一些方法来绕过这个问题,因为看起来,函数会在它看到未定义的变量时停止,但仍然找不到有效的解决方案。
谢谢
勒隆