0

ext 4 を使用して、ext グリッドのボタンを使用して行を上下に移動できるようにしようとしています。

行を上に移動するためのコードのスニピットを次に示します。

    var record = grid.getSelectionModel().selection.record;
    var index = grid.getStore().indexOf(record);
    var newIndex = index - 1;
    this.store.remove(selection, true);
    this.store.insert(newIndex, record);
    //selectionModel.select(record);

一度上に移動すると、行が移動して強調表示されたままになります。もう一度上に移動すると、行が移動し、強調表示が解除され、選択が解除されます。

コメントアウトしたコードの最後の行でレコードを選択しようとしましたが、そのコード行は、移動した行を強調表示したまま、移動した行の下の行を強調表示してしまいます。

上ボタンを押し続けて、選択した行を手動で再選択しなくても上に移動できるようにしたいと考えています。

4

1 に答える 1

0

レコードをランク​​付けするストア/モデルにフィールドを追加する方がはるかに簡単かもしれません。この方法では、ランク番号を変更してストアをフィルタリングするだけです。これにより、選択が損なわれなくなります。このランク フィールドをプロキシに同期させたくない場合は、フィールドの "persist" プロパティを false に設定します。とにかく、remove メソッドでプライベート パラメーターを使用するよりも優れています。

于 2013-07-18T04:36:25.570 に答える