1

CellEditingプラグインを使用してグリッド上で選択した行インデックスを取得しようとしています(その後、レコードの別のフィールド値を設定しようとしています)が、getSelection()メソッドは空の配列を返します。コンボボックスにselectイベントのリスナーがあります。それが変更された場合、編集された行のインデックスを取得する必要があります。

...
lazyRender: true,
listClass: 'x-combo-list-small',
listeners: {
    scope: this,
    select: function(field, value, options) {
        var selection = Ext.getCmp('lineItemsGrid').getSelectionModel().getSelection();                                            
        console.log(selection);
    }
}
...

ExtJS4.0.2aリリースを使用しています。私はExtJSに関しては初心者なので、何かが足りないかもしれません。

これがあなたが見たいcasのJSFiddleファイルです。
http://jsfiddle.net/Z6b7a/8/

どんな助けでも大歓迎です。

ありがとう
オズ

4

1 に答える 1

0

このメソッドを使用する必要はありませんgetSelection()。編集イベントから直接レコードを更新できます。

http://jsfiddle.net/Z6b7a/7/

フィドルを更新しました。編集後にレコードを更新するコードも次のとおりです。

edit: function(editor, e, options) {
     e.record.set('light', 'Shade');
     //var selections = Ext.getCmp('lineItemsGrid').getSelectionModel().getSelection();
     //console.log(selections);
}
于 2011-08-15T12:18:06.600 に答える