2012-05-03 7 views
0

は未定義と警告である場合は、私が持っている:ExtJSの4カントチェック変数は、エラー

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;定義されていません

それだけです。私はこの問題を回避するためにいくつかのことを試しています。なぜなら、関数は未定義の変数を見る時間を止めますが、まだ解決策が見つからないからです。

Leron

おかげ

+1

getCurrentPosition()が未定義を返すか確認してください – sha

+0

Lol、Sha、ありがとうございます。このようにして、チェックは正常に動作しています!もう一度完璧です。 <3:私はそれを受け入れることができるように答えを投稿...あなたがしたい場合.. – Leron

+0

あなたは行く:)喜んで助ける – sha

答えて

1

チェックgetCurrentPosition()リターンは定義されていない場合。