フロート可能なウィンドウにラップされたグリッドを開発する必要があります。ウィンドウが表示されたら、特定の行に焦点を合わせてから、ナビゲーションキーを使用して上下に移動する必要があります。これで、指定した行に(grid.getView()。focusRow(index)を使用して)フォーカスする方法を理解しましたが、そうすると、グリッドがフォーカスを失ったかのように、グリッド内を上下に移動できなくなります。 。
コードは次のとおりです。
var storage = Ext.create ('Ext.data.Store', {
fields: ['id', 'name'] ,
data: [
{id:0,name:'foo'} ,
{id:1,name:'boo'} ,
{id:2,name:'koo'} ,
{id:3,name:'zoo'} ,
{id:4,name:'moo'} ,
{id:5,name:'too'} ,
{id:6,name:'goo'} ,
{id:7,name:'poo'} ,
{id:8,name:'loo'} ,
{id:9,name:'roo'} ,
{id:10,name:'hoo'}
]
});
Ext.create ('Ext.grid.Panel', {
title: 'My Grid' ,
width: 300 ,
height: 200 ,
store: storage ,
renderTo: Ext.getBody () ,
columns: [{
header: 'ID' ,
dataIndex: 'id'
} , {
header: 'Name' ,
dataIndex: 'name' ,
flex: 1
}] ,
listeners: {
afterlayout: function (grid) {
var view = grid.getView ();
view.focusRow (storage.getCount () - 1);
view.highlightItem (view.getNode (storage.getCount () - 1));
}
}
});
それで、その後、どうすればグリッドを「フォーカス」してナビゲート可能にすることができますか?