0

我有:

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; 未定义

就这样。我尝试了一些方法来绕过这个问题,因为看起来,函数会在它看到未定义的变量时停止,但仍然找不到有效的解决方案。

谢谢

勒隆

4

1 回答 1

1

检查是否getCurrentPosition()返回未定义。

于 2012-05-03T13:05:56.380 回答