2011-12-20 23 views
2

私は、Excelとほぼ同じように動作するcellEditorでEditorGridPanelを使用しています。行と列の間を移動するために矢印キーを実装しました。行の検証中に、検証規則と一致しない場合、MessageBoxを表示し、有効でない場合はフォーカスが移動しないようにします。しかし、MessageBoxが表示された後、フォーカスは次の行/列に移動します。別の問題は、ユーザーがMessageBoxの[OK]ボタンをクリックして画面から削除する必要があることです。無効な列エディタに焦点を当て、MessageBoxの[OK]ボタンに焦点を当てることができます。ユーザーはEnterキーを押してメッセージを非表示にして入力を続けることができますか?MessageBoxにフォーカスを維持する方法

リンクを確認してください。 http://www.softworksbd.com/swazilandlmis/yyyy_stockdata.php

答えて

3

フォーカスを置くことができる要素は1つだけなので、フォーカスはメッセージボックスに移動します。 AFAIKの入力/エスケープキーは、メッセージボックスですぐに使用できます。 メッセージボックスにコールバックを渡すことができます。このコールバックでは、グリッド内に目的のセルをフォーカスすることができます。このように:

Ext.Msg.alert('Title', 'Message.', function(){ 
    this.startEditing(rowIndex, colIndex); 
}.createDelegate(grid)); 

メッセージボックスを閉じた後、フォーカスはエディタに戻ります。

関連する問題