2011-07-22 10 views
4

私たちはアプリケーションでExtJS4を使用しています。グリッドのフォーカスに問題があります。ExtJS3ではgrid.getView().focusEl.focus()を使用しています。今は、これが動作していないようです。ExtJS4でこれを置き換えるのは何ですか?ExtJS4のグリッドフォーカスの問題

答えて

6

私はExtJS3とExtJS4の違いを確認するのに役立ちました。主な変更点は、focusElがgridView要素から削除されていることです。 ExtJS3で

、focusElビューExtJS4で

<div class="x-grid3-scroller" id="ext-gen10" style="width: 298px; height: 174px; "> 
    <div class="x-grid3-body" style="width:100px;" id="ext-gen12"> 
     <div class="x-grid3-row x-grid3-row-first x-grid3-row-last" style="width:100px;"> 
      <table class="x-grid3-row-table" border="0" cellspacing="0" cellpadding="0" style="width:100px;"> 
       <tbody> 
        <tr><td class="x-grid3-col x-grid3-cell x-grid3-td-0 x-grid3-cell-first " style="width: 100px;" tabindex="0"><div class="x-grid3-cell-inner x-grid3-col-0" unselectable="on">0</div></td></tr> 
       </tbody> 
      </table> 
     </div> 
    </div> 
    <a href="#" class="x-grid3-focus" tabindex="-1" id="ext-gen13"></a> 
</div> 

でアンカーリンクで、このアンカーリンクは

ソリューション

存在しないです小さいfiddle test私はあなたのために作成しました。基本的に変更するために必要なもの以下の通りである:

grid.getView().el.focus(); 

代わりfocusEl(アンカーリンク)を取得する、我々は全体の要素を使用します。

これはあなたの問題を解決します。

+0

grid.getView()。focus()も機能し、よりクリーンなアプローチになる可能性があります。 –