extjs, как сбросить мой измененный магазин .... (мой pruneMOdifiedRecords не работает должным образом, ..) - PullRequest
0 голосов
/ 04 марта 2011

вот мой js файл:

var fm = Ext.form;
var grid = new Ext.grid.EditorGridPanel({
    height: Ext.get("content").getHeight(),
    width: Ext.get("content").getWidth(),
    store: store,
    pruneModifiedRecords : true,
    clicksToEdit : 1,
    columns:[
        {header: "Kd.Rayon",        dataIndex: 'KD_RAYON',  width:60,   sortable: false},//
        {header: "Kd.Sek",          dataIndex: 'KD_SEK',    width:60,   sortable: false},//
        {header: "Paralel",         dataIndex: 'PARALEL',   width:50,   sortable: false, editor: new fm.TextField({allowBlank: false})},
        {header: "Absen",           dataIndex: 'ABSEN',     width:50,   sortable: false, editor: new fm.TextField({allowBlank: false})},
    .......
    ],

    stripeRows: true,
    loadMask : {
        msg : 'Loading data...'
    },
    //autoExpandColumn: 'ALAMAT',
    title: 'Siswa', 

    sm: new Ext.grid.RowSelectionModel({singleSelect: true}),
    tbar: [{
        id : 'btnSave',
        iconCls : 'disk',
        tooltip : 'Simpan perubahan data',
        disabled: true,
        text : 'Simpan',
        handler: function(){
            var  records = grid.store.getModifiedRecords();
            if (records.length<=0)
                Ext.Msg.alert("Data","Tidak ada perubahan");
            else{
                var data = [];
                for (i=0; i<records.length; i++){
                    data.push(records[i].data);
                }
                data = Ext.encode(data); 
                Ext.getBody().mask();
                Ext.Ajax.request({ 
                  //url: 'test.php',
                  url: 'php/crud.php',
                  params: {
                    data: data,
                    ACT : "U",
                    FORM: "SISWA",
                    KD_PROP:Pendas.kd_prop,
                    KD_RAYON:Pendas.kd_sek.substring(2,4),
                    KD_SEK:Pendas.kd_sek.substring(4,7)
                  },
                  success: function(res,obj){
                    var json = res.responseText;
                    var o = eval("("+json+")");
                    Ext.Msg.alert("Data",o.info);
                    store.reload();
                    Ext.getBody().unmask();
                  }
               });
            }
        }
    }]
});

здесь дело, ....
во-первых, я редактирую первую строку, ..
я сохраняю его, оно возвращает true, где return - скажем «Успех в обновлении», ...
но, когда я дважды щелкнул кнопкой сохранения, ...
он отправляет измененные записи ...

я делаю не так ??, ... как сбросить мою "модифицированную запись"

1 Ответ

0 голосов
/ 04 марта 2011

У вас pruneModifiedRecords установлено на EditorGridPanel, но оно должно быть на Store.

http://dev.sencha.com/deploy/dev/docs/source/Store.html#cfg-Ext.data.Store-pruneModifiedRecords

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...