2011-07-22 14 views
0

ExtJS 4では、(クリックすることで)グリッドパネル内の行を選択し、スペースバーを押すとその行が選択され、選択解除されます。 ExtJS 3ではそうではなく、この機能を無効にしたいと考えています。ExtJS 4グリッドパネル - スペースバーの行切り替え

アイデア?私はExt.util.KeyMapを調べて、何とかそれを上書きできるかどうか確認しています。前もって感謝します。

答えて

3

Ext.selection.RowModelonKeyPressメソッドをオーバーライドする必要があります。出荷された実装では、現在、その動作をオフにする設定スイッチはありません残念ながら

onKeyPress: function(e, t) { 
    if (e.getKey() === e.SPACE) { 
     e.stopEvent(); 
     var me = this, 
      record = me.lastFocused; 

     if (record) { 
      if (me.isSelected(record)) { 
       me.doDeselect(record, false); 
      } else { 
       me.doSelect(record, true); 
      } 
     } 
    } 
} 

です。

+2

'Ext.selection.RowModel'のキーナビゲーションを無効にする設定' enableKeyNav'があります。 –

+0

はい、ありますが、カーソルキー、ページの上や下などの他のキーボードナビゲーションもすべてオフにします。家と終わり。 –

+0

@Molecule、応答のおかげで、 'enableKeyNav'は実際に私にとっては長期的にはうまくいくかもしれません。 – Chewpers