2

grid.Panelフィールド値を変更してストアデータを保存するアクション列があります。ただし、グリッドのスクロール位置は呼び出されるtop:0たびに戻ります。store.save

サンプルコード:

Ext.define('SF.view.Myview.List' , {
    extend: 'Ext.grid.Panel',
    viewConfig: {
        preserveScrollOnRefresh: true,
    },

    store: 'Contents',

    initComponent: function() {


        this.columns = [
            { xtype: 'actioncolumn',
            header: 'Action'
            , width: 60
            , items: [{ // change status button
                icon: 'http://whatisextjs.com/BAHO/icons/cancel.png'
                , handler: function(grid, rowIndex, colindex) {
                    var record = grid.getStore().getAt(rowIndex);
                    record.set('status',6);
                    grid.store.save();

                } 
            },

プロパティを試してみましたがpreserveScrollOnRefresh成功しませんでした。このプロパティは、ページングおよびツールバー ボタンに対しては適切に機能しますが、store.refresh/loadイベントに対しては機能しません。

スクロール位置を失うことなく、データを保存して行を更新することは可能ですか?

4

1 に答える 1

0

はい、レコードの保存メソッドを呼び出します:

var record = grid.getStore().getAt(rowIndex);
record.set('status',6);
record.save();

また、グリッド内のデータも更新されます。

于 2012-12-19T13:16:57.867 に答える