1

高低を検索しましたが、これを見つけることができず、すべての方法が機能しません。

基本的に、ここに私が持っているものがあります。ExtJS 4多くの行を含むグリッド パネル (を使用) があります。各行には、コンボ ボックスを含む列があります。

これで、クリックすると新しいモデルを追加してストアに挿入する「追加」ボタンができました。よく働く。ただし、ユーザーはマウスを使用して、新しく挿入された行内のコンボ ボックスをクリックして入力を開始する必要があります。私たちのアプリはキーボードに重点を置いており、マウスは推奨されていません (データ入力アプリであるため)。

次の方法で最初の行を選択できます。

grid.view.getSelectionModel().select(newRow);

ただし、内部のコンボ ボックスはフォーカスされていません。

どうすればこれを解決できますか?

ありがとう。

編集

ここにソースコードを投稿しようとしましたが、タイムアウトし続けるので、ここgistに私のコードがあります:

https://gist.github.com/1089782

ありがとう

4

2 に答える 2

1

コンボボックスについてはチェックしませんでしたが、テキストフィールドでは機能しました:

  1. 最初に ID を celledit プラグインに割り当てます。

    plugins: [ Ext.create('Ext.grid.plugin.CellEditing', { clicksToEdit: 1, id: 'my_plugin' }) ]

  2. 次に、newRow新しく挿入されたモデルとコンボボックスを持つ列がインデックス == 1 である場合、次を使用できます。 grid.getPlugin('my_plugin').startEditByPosition({row: newRow.index, column: 1});

于 2011-07-22T08:09:25.490 に答える
1
  1. そのコンボボックスへの参照をどこかに保存する必要があります。たとえば、レコードには「コンボ」フィールドがあり、コンボボックスを参照します。
  2. 選択後、次のことを行う必要があります: record.combo.fosus(); それだけです。
于 2011-07-17T18:46:13.680 に答える